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
|
@@ -84,6 +84,7 @@ absl_cc_library(
|
|
|
84
84
|
absl::core_headers
|
|
85
85
|
absl::endian
|
|
86
86
|
absl::int128
|
|
87
|
+
absl::iterator_traits_internal
|
|
87
88
|
absl::memory
|
|
88
89
|
absl::nullability
|
|
89
90
|
absl::raw_logging_internal
|
|
@@ -242,6 +243,7 @@ absl_cc_test(
|
|
|
242
243
|
COPTS
|
|
243
244
|
${ABSL_TEST_COPTS}
|
|
244
245
|
DEPS
|
|
246
|
+
absl::string_view
|
|
245
247
|
absl::strings_internal
|
|
246
248
|
absl::base
|
|
247
249
|
absl::core_headers
|
|
@@ -517,6 +519,7 @@ absl_cc_library(
|
|
|
517
519
|
absl::utility
|
|
518
520
|
absl::int128
|
|
519
521
|
absl::span
|
|
522
|
+
absl::strings_internal
|
|
520
523
|
)
|
|
521
524
|
|
|
522
525
|
absl_cc_test(
|
|
@@ -544,6 +547,7 @@ absl_cc_test(
|
|
|
544
547
|
COPTS
|
|
545
548
|
${ABSL_TEST_COPTS}
|
|
546
549
|
DEPS
|
|
550
|
+
absl::random_random
|
|
547
551
|
absl::str_format
|
|
548
552
|
absl::str_format_internal
|
|
549
553
|
absl::strings
|
|
@@ -659,7 +663,7 @@ absl_cc_library(
|
|
|
659
663
|
SRCS
|
|
660
664
|
"internal/pow10_helper.cc"
|
|
661
665
|
COPTS
|
|
662
|
-
${
|
|
666
|
+
${ABSL_DEFAULT_COPTS}
|
|
663
667
|
DEPS
|
|
664
668
|
absl::config
|
|
665
669
|
TESTONLY
|
|
@@ -701,7 +705,6 @@ absl_cc_library(
|
|
|
701
705
|
COPTS
|
|
702
706
|
${ABSL_DEFAULT_COPTS}
|
|
703
707
|
DEPS
|
|
704
|
-
absl::base_internal
|
|
705
708
|
absl::compressed_tuple
|
|
706
709
|
absl::config
|
|
707
710
|
absl::container_memory
|
|
@@ -976,7 +979,6 @@ absl_cc_library(
|
|
|
976
979
|
"cord.cc"
|
|
977
980
|
"cord_analysis.cc"
|
|
978
981
|
"cord_analysis.h"
|
|
979
|
-
"cord_buffer.cc"
|
|
980
982
|
COPTS
|
|
981
983
|
${ABSL_DEFAULT_COPTS}
|
|
982
984
|
DEPS
|
|
@@ -999,6 +1001,7 @@ absl_cc_library(
|
|
|
999
1001
|
absl::span
|
|
1000
1002
|
absl::strings
|
|
1001
1003
|
absl::type_traits
|
|
1004
|
+
absl::weakly_mixed_integer
|
|
1002
1005
|
PUBLIC
|
|
1003
1006
|
)
|
|
1004
1007
|
|
|
@@ -183,8 +183,8 @@ constexpr bool AsciiInAZRangeNaive(unsigned char c) {
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
template <bool ToUpper, bool Naive>
|
|
186
|
-
constexpr void AsciiStrCaseFoldImpl(
|
|
187
|
-
|
|
186
|
+
constexpr void AsciiStrCaseFoldImpl(char* absl_nonnull dst,
|
|
187
|
+
const char* absl_nullable src,
|
|
188
188
|
size_t size) {
|
|
189
189
|
// The upper- and lowercase versions of ASCII characters differ by only 1 bit.
|
|
190
190
|
// When we need to flip the case, we can xor with this bit to achieve the
|
|
@@ -211,18 +211,18 @@ constexpr void AsciiStrCaseFoldImpl(absl::Nonnull<char*> dst,
|
|
|
211
211
|
// strings it's not important).
|
|
212
212
|
// `src` may be null iff `size` is zero.
|
|
213
213
|
template <bool ToUpper>
|
|
214
|
-
constexpr void AsciiStrCaseFold(
|
|
215
|
-
|
|
214
|
+
constexpr void AsciiStrCaseFold(char* absl_nonnull dst,
|
|
215
|
+
const char* absl_nullable src, size_t size) {
|
|
216
216
|
size < 16 ? AsciiStrCaseFoldImpl<ToUpper, /*Naive=*/true>(dst, src, size)
|
|
217
217
|
: AsciiStrCaseFoldImpl<ToUpper, /*Naive=*/false>(dst, src, size);
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
void AsciiStrToLower(
|
|
220
|
+
void AsciiStrToLower(char* absl_nonnull dst, const char* absl_nullable src,
|
|
221
221
|
size_t n) {
|
|
222
222
|
return AsciiStrCaseFold<false>(dst, src, n);
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
void AsciiStrToUpper(
|
|
225
|
+
void AsciiStrToUpper(char* absl_nonnull dst, const char* absl_nullable src,
|
|
226
226
|
size_t n) {
|
|
227
227
|
return AsciiStrCaseFold<true>(dst, src, n);
|
|
228
228
|
}
|
|
@@ -253,17 +253,17 @@ static_assert(ValidateAsciiCasefold() == 0, "error in case conversion");
|
|
|
253
253
|
|
|
254
254
|
} // namespace ascii_internal
|
|
255
255
|
|
|
256
|
-
void AsciiStrToLower(
|
|
256
|
+
void AsciiStrToLower(std::string* absl_nonnull s) {
|
|
257
257
|
char* p = &(*s)[0];
|
|
258
258
|
return ascii_internal::AsciiStrCaseFold<false>(p, p, s->size());
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
void AsciiStrToUpper(
|
|
261
|
+
void AsciiStrToUpper(std::string* absl_nonnull s) {
|
|
262
262
|
char* p = &(*s)[0];
|
|
263
263
|
return ascii_internal::AsciiStrCaseFold<true>(p, p, s->size());
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
void RemoveExtraAsciiWhitespace(
|
|
266
|
+
void RemoveExtraAsciiWhitespace(std::string* absl_nonnull str) {
|
|
267
267
|
auto stripped = StripAsciiWhitespace(*str);
|
|
268
268
|
|
|
269
269
|
if (stripped.empty()) {
|
|
@@ -76,10 +76,10 @@ ABSL_DLL extern const char kToUpper[256];
|
|
|
76
76
|
// Declaration for the array of characters to lower-case characters.
|
|
77
77
|
ABSL_DLL extern const char kToLower[256];
|
|
78
78
|
|
|
79
|
-
void AsciiStrToLower(
|
|
79
|
+
void AsciiStrToLower(char* absl_nonnull dst, const char* absl_nullable src,
|
|
80
80
|
size_t n);
|
|
81
81
|
|
|
82
|
-
void AsciiStrToUpper(
|
|
82
|
+
void AsciiStrToUpper(char* absl_nonnull dst, const char* absl_nullable src,
|
|
83
83
|
size_t n);
|
|
84
84
|
|
|
85
85
|
} // namespace ascii_internal
|
|
@@ -185,10 +185,10 @@ inline char ascii_tolower(unsigned char c) {
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
// Converts the characters in `s` to lowercase, changing the contents of `s`.
|
|
188
|
-
void AsciiStrToLower(
|
|
188
|
+
void AsciiStrToLower(std::string* absl_nonnull s);
|
|
189
189
|
|
|
190
190
|
// Creates a lowercase string from a given absl::string_view.
|
|
191
|
-
|
|
191
|
+
[[nodiscard]] inline std::string AsciiStrToLower(absl::string_view s) {
|
|
192
192
|
std::string result;
|
|
193
193
|
strings_internal::STLStringResizeUninitialized(&result, s.size());
|
|
194
194
|
ascii_internal::AsciiStrToLower(&result[0], s.data(), s.size());
|
|
@@ -199,7 +199,7 @@ ABSL_MUST_USE_RESULT inline std::string AsciiStrToLower(absl::string_view s) {
|
|
|
199
199
|
//
|
|
200
200
|
// (Template is used to lower priority of this overload.)
|
|
201
201
|
template <int&... DoNotSpecify>
|
|
202
|
-
|
|
202
|
+
[[nodiscard]] inline std::string AsciiStrToLower(std::string&& s) {
|
|
203
203
|
std::string result = std::move(s);
|
|
204
204
|
absl::AsciiStrToLower(&result);
|
|
205
205
|
return result;
|
|
@@ -214,10 +214,10 @@ inline char ascii_toupper(unsigned char c) {
|
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
// Converts the characters in `s` to uppercase, changing the contents of `s`.
|
|
217
|
-
void AsciiStrToUpper(
|
|
217
|
+
void AsciiStrToUpper(std::string* absl_nonnull s);
|
|
218
218
|
|
|
219
219
|
// Creates an uppercase string from a given absl::string_view.
|
|
220
|
-
|
|
220
|
+
[[nodiscard]] inline std::string AsciiStrToUpper(absl::string_view s) {
|
|
221
221
|
std::string result;
|
|
222
222
|
strings_internal::STLStringResizeUninitialized(&result, s.size());
|
|
223
223
|
ascii_internal::AsciiStrToUpper(&result[0], s.data(), s.size());
|
|
@@ -228,7 +228,7 @@ ABSL_MUST_USE_RESULT inline std::string AsciiStrToUpper(absl::string_view s) {
|
|
|
228
228
|
//
|
|
229
229
|
// (Template is used to lower priority of this overload.)
|
|
230
230
|
template <int&... DoNotSpecify>
|
|
231
|
-
|
|
231
|
+
[[nodiscard]] inline std::string AsciiStrToUpper(std::string&& s) {
|
|
232
232
|
std::string result = std::move(s);
|
|
233
233
|
absl::AsciiStrToUpper(&result);
|
|
234
234
|
return result;
|
|
@@ -236,47 +236,47 @@ ABSL_MUST_USE_RESULT inline std::string AsciiStrToUpper(std::string&& s) {
|
|
|
236
236
|
|
|
237
237
|
// Returns absl::string_view with whitespace stripped from the beginning of the
|
|
238
238
|
// given string_view.
|
|
239
|
-
|
|
240
|
-
absl::string_view str) {
|
|
239
|
+
[[nodiscard]] inline absl::string_view StripLeadingAsciiWhitespace(
|
|
240
|
+
absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND) {
|
|
241
241
|
auto it = std::find_if_not(str.begin(), str.end(), absl::ascii_isspace);
|
|
242
242
|
return str.substr(static_cast<size_t>(it - str.begin()));
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
// Strips in place whitespace from the beginning of the given string.
|
|
246
|
-
inline void StripLeadingAsciiWhitespace(
|
|
246
|
+
inline void StripLeadingAsciiWhitespace(std::string* absl_nonnull str) {
|
|
247
247
|
auto it = std::find_if_not(str->begin(), str->end(), absl::ascii_isspace);
|
|
248
248
|
str->erase(str->begin(), it);
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
// Returns absl::string_view with whitespace stripped from the end of the given
|
|
252
252
|
// string_view.
|
|
253
|
-
|
|
254
|
-
absl::string_view str) {
|
|
253
|
+
[[nodiscard]] inline absl::string_view StripTrailingAsciiWhitespace(
|
|
254
|
+
absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND) {
|
|
255
255
|
auto it = std::find_if_not(str.rbegin(), str.rend(), absl::ascii_isspace);
|
|
256
256
|
return str.substr(0, static_cast<size_t>(str.rend() - it));
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
// Strips in place whitespace from the end of the given string
|
|
260
|
-
inline void StripTrailingAsciiWhitespace(
|
|
260
|
+
inline void StripTrailingAsciiWhitespace(std::string* absl_nonnull str) {
|
|
261
261
|
auto it = std::find_if_not(str->rbegin(), str->rend(), absl::ascii_isspace);
|
|
262
262
|
str->erase(static_cast<size_t>(str->rend() - it));
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
// Returns absl::string_view with whitespace stripped from both ends of the
|
|
266
266
|
// given string_view.
|
|
267
|
-
|
|
268
|
-
absl::string_view str) {
|
|
267
|
+
[[nodiscard]] inline absl::string_view StripAsciiWhitespace(
|
|
268
|
+
absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND) {
|
|
269
269
|
return StripTrailingAsciiWhitespace(StripLeadingAsciiWhitespace(str));
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
// Strips in place whitespace from both ends of the given string
|
|
273
|
-
inline void StripAsciiWhitespace(
|
|
273
|
+
inline void StripAsciiWhitespace(std::string* absl_nonnull str) {
|
|
274
274
|
StripTrailingAsciiWhitespace(str);
|
|
275
275
|
StripLeadingAsciiWhitespace(str);
|
|
276
276
|
}
|
|
277
277
|
|
|
278
278
|
// Removes leading, trailing, and consecutive internal whitespace.
|
|
279
|
-
void RemoveExtraAsciiWhitespace(
|
|
279
|
+
void RemoveExtraAsciiWhitespace(std::string* absl_nonnull str);
|
|
280
280
|
|
|
281
281
|
ABSL_NAMESPACE_END
|
|
282
282
|
} // namespace absl
|
|
@@ -12,15 +12,14 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
#include "absl/strings/ascii.h"
|
|
16
|
-
|
|
17
15
|
#include <algorithm>
|
|
16
|
+
#include <array>
|
|
18
17
|
#include <cctype>
|
|
19
18
|
#include <cstddef>
|
|
20
19
|
#include <string>
|
|
21
|
-
#include <array>
|
|
22
|
-
#include <random>
|
|
23
20
|
|
|
21
|
+
#include "absl/random/random.h"
|
|
22
|
+
#include "absl/strings/ascii.h"
|
|
24
23
|
#include "benchmark/benchmark.h"
|
|
25
24
|
|
|
26
25
|
namespace {
|
|
@@ -28,10 +27,8 @@ namespace {
|
|
|
28
27
|
std::array<unsigned char, 256> MakeShuffledBytes() {
|
|
29
28
|
std::array<unsigned char, 256> bytes;
|
|
30
29
|
for (size_t i = 0; i < 256; ++i) bytes[i] = static_cast<unsigned char>(i);
|
|
31
|
-
|
|
32
|
-
std::
|
|
33
|
-
std::mt19937 g(seed);
|
|
34
|
-
std::shuffle(bytes.begin(), bytes.end(), g);
|
|
30
|
+
absl::InsecureBitGen gen;
|
|
31
|
+
std::shuffle(bytes.begin(), bytes.end(), gen);
|
|
35
32
|
return bytes;
|
|
36
33
|
}
|
|
37
34
|
|
|
@@ -120,7 +120,7 @@ struct FloatTraits<double> {
|
|
|
120
120
|
// Parsing a smaller N will produce something finite.
|
|
121
121
|
static constexpr int kEiselLemireMaxExclusiveExp10 = 309;
|
|
122
122
|
|
|
123
|
-
static double MakeNan(
|
|
123
|
+
static double MakeNan(const char* absl_nonnull tagp) {
|
|
124
124
|
#if ABSL_HAVE_BUILTIN(__builtin_nan)
|
|
125
125
|
// Use __builtin_nan() if available since it has a fix for
|
|
126
126
|
// https://bugs.llvm.org/show_bug.cgi?id=37778
|
|
@@ -193,7 +193,7 @@ struct FloatTraits<float> {
|
|
|
193
193
|
static constexpr int kEiselLemireMinInclusiveExp10 = -46 - 18;
|
|
194
194
|
static constexpr int kEiselLemireMaxExclusiveExp10 = 39;
|
|
195
195
|
|
|
196
|
-
static float MakeNan(
|
|
196
|
+
static float MakeNan(const char* absl_nonnull tagp) {
|
|
197
197
|
#if ABSL_HAVE_BUILTIN(__builtin_nanf)
|
|
198
198
|
// Use __builtin_nanf() if available since it has a fix for
|
|
199
199
|
// https://bugs.llvm.org/show_bug.cgi?id=37778
|
|
@@ -345,7 +345,7 @@ int NormalizedShiftSize(int mantissa_width, int binary_exponent) {
|
|
|
345
345
|
// `value` must be wider than the requested bit width.
|
|
346
346
|
//
|
|
347
347
|
// Returns the number of bits shifted.
|
|
348
|
-
int TruncateToBitWidth(int bit_width,
|
|
348
|
+
int TruncateToBitWidth(int bit_width, uint128* absl_nonnull value) {
|
|
349
349
|
const int current_bit_width = BitWidth(*value);
|
|
350
350
|
const int shift = current_bit_width - bit_width;
|
|
351
351
|
*value >>= shift;
|
|
@@ -357,7 +357,7 @@ int TruncateToBitWidth(int bit_width, absl::Nonnull<uint128*> value) {
|
|
|
357
357
|
// the appropriate double, and returns true.
|
|
358
358
|
template <typename FloatType>
|
|
359
359
|
bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative,
|
|
360
|
-
|
|
360
|
+
FloatType* absl_nonnull value) {
|
|
361
361
|
if (input.type == strings_internal::FloatType::kNan) {
|
|
362
362
|
// A bug in gcc would cause the compiler to optimize away the buffer we are
|
|
363
363
|
// building below. Declaring the buffer volatile avoids the issue, and has
|
|
@@ -389,7 +389,7 @@ bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative,
|
|
|
389
389
|
return true;
|
|
390
390
|
}
|
|
391
391
|
if (input.mantissa == 0) {
|
|
392
|
-
*value = negative ? -0.
|
|
392
|
+
*value = negative ? -0.0f : 0.0f;
|
|
393
393
|
return true;
|
|
394
394
|
}
|
|
395
395
|
return false;
|
|
@@ -403,8 +403,8 @@ bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative,
|
|
|
403
403
|
// number is stored in *value.
|
|
404
404
|
template <typename FloatType>
|
|
405
405
|
void EncodeResult(const CalculatedFloat& calculated, bool negative,
|
|
406
|
-
absl::
|
|
407
|
-
|
|
406
|
+
absl::from_chars_result* absl_nonnull result,
|
|
407
|
+
FloatType* absl_nonnull value) {
|
|
408
408
|
if (calculated.exponent == kOverflow) {
|
|
409
409
|
result->ec = std::errc::result_out_of_range;
|
|
410
410
|
*value = negative ? -std::numeric_limits<FloatType>::max()
|
|
@@ -412,7 +412,7 @@ void EncodeResult(const CalculatedFloat& calculated, bool negative,
|
|
|
412
412
|
return;
|
|
413
413
|
} else if (calculated.mantissa == 0 || calculated.exponent == kUnderflow) {
|
|
414
414
|
result->ec = std::errc::result_out_of_range;
|
|
415
|
-
*value = negative ? -0.
|
|
415
|
+
*value = negative ? -0.0f : 0.0f;
|
|
416
416
|
return;
|
|
417
417
|
}
|
|
418
418
|
*value = FloatTraits<FloatType>::Make(
|
|
@@ -450,7 +450,7 @@ void EncodeResult(const CalculatedFloat& calculated, bool negative,
|
|
|
450
450
|
// Zero and negative values of `shift` are accepted, in which case the word is
|
|
451
451
|
// shifted left, as necessary.
|
|
452
452
|
uint64_t ShiftRightAndRound(uint128 value, int shift, bool input_exact,
|
|
453
|
-
|
|
453
|
+
bool* absl_nonnull output_exact) {
|
|
454
454
|
if (shift <= 0) {
|
|
455
455
|
*output_exact = input_exact;
|
|
456
456
|
return static_cast<uint64_t>(value << -shift);
|
|
@@ -684,12 +684,11 @@ CalculatedFloat CalculateFromParsedDecimal(
|
|
|
684
684
|
// this function returns false) is both fast and correct.
|
|
685
685
|
template <typename FloatType>
|
|
686
686
|
bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
|
|
687
|
-
|
|
688
|
-
absl::Nonnull<std::errc*> ec) {
|
|
687
|
+
FloatType* absl_nonnull value, std::errc* absl_nonnull ec) {
|
|
689
688
|
uint64_t man = input.mantissa;
|
|
690
689
|
int exp10 = input.exponent;
|
|
691
690
|
if (exp10 < FloatTraits<FloatType>::kEiselLemireMinInclusiveExp10) {
|
|
692
|
-
*value = negative ? -0.
|
|
691
|
+
*value = negative ? -0.0f : 0.0f;
|
|
693
692
|
*ec = std::errc::result_out_of_range;
|
|
694
693
|
return true;
|
|
695
694
|
} else if (exp10 >= FloatTraits<FloatType>::kEiselLemireMaxExclusiveExp10) {
|
|
@@ -842,7 +841,7 @@ bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
|
|
|
842
841
|
if (negative) {
|
|
843
842
|
ret_bits |= 0x8000000000000000u;
|
|
844
843
|
}
|
|
845
|
-
*value = absl::bit_cast<double>(ret_bits);
|
|
844
|
+
*value = static_cast<FloatType>(absl::bit_cast<double>(ret_bits));
|
|
846
845
|
return true;
|
|
847
846
|
} else if (FloatTraits<FloatType>::kTargetBits == 32) {
|
|
848
847
|
uint32_t ret_bits = (static_cast<uint32_t>(ret_exp2) << 23) |
|
|
@@ -850,7 +849,7 @@ bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
|
|
|
850
849
|
if (negative) {
|
|
851
850
|
ret_bits |= 0x80000000u;
|
|
852
851
|
}
|
|
853
|
-
*value = absl::bit_cast<float>(ret_bits);
|
|
852
|
+
*value = static_cast<FloatType>(absl::bit_cast<float>(ret_bits));
|
|
854
853
|
return true;
|
|
855
854
|
}
|
|
856
855
|
#endif // ABSL_BIT_PACK_FLOATS
|
|
@@ -858,9 +857,9 @@ bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
|
|
|
858
857
|
}
|
|
859
858
|
|
|
860
859
|
template <typename FloatType>
|
|
861
|
-
from_chars_result FromCharsImpl(
|
|
862
|
-
|
|
863
|
-
|
|
860
|
+
from_chars_result FromCharsImpl(const char* absl_nonnull first,
|
|
861
|
+
const char* absl_nonnull last, FloatType& value,
|
|
862
|
+
chars_format fmt_flags) {
|
|
864
863
|
from_chars_result result;
|
|
865
864
|
result.ptr = first; // overwritten on successful parse
|
|
866
865
|
result.ec = std::errc();
|
|
@@ -890,7 +889,7 @@ from_chars_result FromCharsImpl(absl::Nonnull<const char*> first,
|
|
|
890
889
|
result.ec = std::errc::invalid_argument;
|
|
891
890
|
} else {
|
|
892
891
|
result.ptr = first + 1;
|
|
893
|
-
value = negative ? -0.
|
|
892
|
+
value = negative ? -0.0f : 0.0f;
|
|
894
893
|
}
|
|
895
894
|
return result;
|
|
896
895
|
}
|
|
@@ -945,14 +944,14 @@ from_chars_result FromCharsImpl(absl::Nonnull<const char*> first,
|
|
|
945
944
|
}
|
|
946
945
|
} // namespace
|
|
947
946
|
|
|
948
|
-
from_chars_result from_chars(
|
|
949
|
-
|
|
947
|
+
from_chars_result from_chars(const char* absl_nonnull first,
|
|
948
|
+
const char* absl_nonnull last, double& value,
|
|
950
949
|
chars_format fmt) {
|
|
951
950
|
return FromCharsImpl(first, last, value, fmt);
|
|
952
951
|
}
|
|
953
952
|
|
|
954
|
-
from_chars_result from_chars(
|
|
955
|
-
|
|
953
|
+
from_chars_result from_chars(const char* absl_nonnull first,
|
|
954
|
+
const char* absl_nonnull last, float& value,
|
|
956
955
|
chars_format fmt) {
|
|
957
956
|
return FromCharsImpl(first, last, value, fmt);
|
|
958
957
|
}
|
|
@@ -45,7 +45,7 @@ enum class chars_format {
|
|
|
45
45
|
// characters that were successfully parsed. If none was found, `ptr` is set
|
|
46
46
|
// to the `first` argument to from_chars.
|
|
47
47
|
struct from_chars_result {
|
|
48
|
-
|
|
48
|
+
const char* absl_nonnull ptr;
|
|
49
49
|
std::errc ec;
|
|
50
50
|
};
|
|
51
51
|
|
|
@@ -77,13 +77,13 @@ struct from_chars_result {
|
|
|
77
77
|
// format that strtod() accepts, except that a "0x" prefix is NOT matched.
|
|
78
78
|
// (In particular, in `hex` mode, the input "0xff" results in the largest
|
|
79
79
|
// matching pattern "0".)
|
|
80
|
-
absl::from_chars_result from_chars(
|
|
81
|
-
|
|
80
|
+
absl::from_chars_result from_chars(const char* absl_nonnull first,
|
|
81
|
+
const char* absl_nonnull last,
|
|
82
82
|
double& value, // NOLINT
|
|
83
83
|
chars_format fmt = chars_format::general);
|
|
84
84
|
|
|
85
|
-
absl::from_chars_result from_chars(
|
|
86
|
-
|
|
85
|
+
absl::from_chars_result from_chars(const char* absl_nonnull first,
|
|
86
|
+
const char* absl_nonnull last,
|
|
87
87
|
float& value, // NOLINT
|
|
88
88
|
chars_format fmt = chars_format::general);
|
|
89
89
|
|
|
@@ -12,12 +12,11 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
#include "absl/strings/charconv.h"
|
|
16
|
-
|
|
17
15
|
#include <cstdlib>
|
|
18
16
|
#include <cstring>
|
|
19
17
|
#include <string>
|
|
20
18
|
|
|
19
|
+
#include "absl/strings/charconv.h"
|
|
21
20
|
#include "benchmark/benchmark.h"
|
|
22
21
|
|
|
23
22
|
namespace {
|