re2 1.23.0 → 1.23.2
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 +2 -0
- package/binding.gyp +3 -2
- package/package.json +5 -5
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +25 -4
- package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +6 -1
- package/vendor/abseil-cpp/CMakeLists.txt +2 -2
- package/vendor/abseil-cpp/MODULE.bazel +2 -2
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +0 -1
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -2
- package/vendor/abseil-cpp/absl/algorithm/container.h +191 -140
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +818 -0
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +44 -5
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +42 -3
- package/vendor/abseil-cpp/absl/base/attributes.h +5 -1
- package/vendor/abseil-cpp/absl/base/call_once_test.cc +10 -10
- package/vendor/abseil-cpp/absl/base/casts.cc +61 -0
- package/vendor/abseil-cpp/absl/base/casts.h +128 -2
- package/vendor/abseil-cpp/absl/base/casts_test.cc +151 -0
- package/vendor/abseil-cpp/absl/base/config.h +13 -37
- package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +4 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
- package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
- package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +13 -7
- package/vendor/abseil-cpp/absl/base/internal/spinlock.h +16 -11
- package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +2 -1
- package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +0 -9
- package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -6
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -1
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
- package/vendor/abseil-cpp/absl/base/macros.h +40 -17
- package/vendor/abseil-cpp/absl/base/nullability.h +1 -1
- package/vendor/abseil-cpp/absl/base/optimization.h +1 -3
- package/vendor/abseil-cpp/absl/base/options.h +1 -27
- package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +5 -8
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +4 -0
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +195 -2
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +136 -2
- package/vendor/abseil-cpp/absl/container/btree_map.h +56 -6
- package/vendor/abseil-cpp/absl/container/btree_set.h +52 -6
- package/vendor/abseil-cpp/absl/container/btree_test.cc +107 -1
- package/vendor/abseil-cpp/absl/container/chunked_queue.h +755 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
- package/vendor/abseil-cpp/absl/container/fixed_array.h +4 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +1 -2
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -2
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +12 -4
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +21 -0
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +14 -5
- package/vendor/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
- package/vendor/abseil-cpp/absl/container/internal/common.h +51 -0
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +7 -1
- package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +11 -0
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +1 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -14
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +11 -8
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +3 -4
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +23 -6
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +31 -15
- package/vendor/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +4 -12
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -10
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +149 -23
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +120 -126
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +4 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +8 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +14 -59
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +111 -22
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +10 -15
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +45 -61
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +6 -9
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +25 -31
- package/vendor/abseil-cpp/absl/container/linked_hash_map.h +666 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set.h +527 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +17 -6
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +16 -5
- package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +1 -2
- package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +79 -0
- package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +79 -0
- package/vendor/abseil-cpp/absl/copts/copts.py +17 -4
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +67 -13
- package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +31 -0
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +34 -0
- package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
- package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -0
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +2 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
- package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +2 -2
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +35 -67
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +3 -0
- package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +24 -1
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +39 -15
- package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
- package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +25 -40
- package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/flags/declare.h +9 -0
- package/vendor/abseil-cpp/absl/flags/flag.h +2 -1
- package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +3 -2
- package/vendor/abseil-cpp/absl/flags/marshalling.cc +1 -16
- package/vendor/abseil-cpp/absl/flags/parse.cc +4 -2
- package/vendor/abseil-cpp/absl/flags/parse_test.cc +1 -1
- package/vendor/abseil-cpp/absl/flags/reflection.cc +4 -3
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +3 -1
- package/vendor/abseil-cpp/absl/functional/function_ref.h +125 -20
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +122 -9
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +13 -2
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +42 -4
- package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +11 -0
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +5 -2
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +184 -53
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +116 -10
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +43 -4
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +35 -1
- package/vendor/abseil-cpp/absl/log/check_test_impl.inc +59 -4
- package/vendor/abseil-cpp/absl/log/die_if_null.cc +3 -1
- package/vendor/abseil-cpp/absl/log/die_if_null.h +24 -3
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +31 -1
- package/vendor/abseil-cpp/absl/log/internal/check_impl.h +2 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.cc +3 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.h +44 -18
- package/vendor/abseil-cpp/absl/log/internal/conditions.h +38 -35
- package/vendor/abseil-cpp/absl/log/internal/container.h +312 -0
- package/vendor/abseil-cpp/absl/log/internal/container_test.cc +254 -0
- package/vendor/abseil-cpp/absl/log/internal/log_impl.h +108 -110
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -2
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +5 -1
- package/vendor/abseil-cpp/absl/log/internal/strip.h +30 -31
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +19 -19
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
- package/vendor/abseil-cpp/absl/log/log.h +2 -2
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +51 -0
- package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +46 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires.h +67 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
- package/vendor/abseil-cpp/absl/meta/type_traits.h +42 -1
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +14 -0
- package/vendor/abseil-cpp/absl/numeric/int128.h +41 -21
- package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
- package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +52 -5
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +18 -7
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +1 -0
- package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +3 -5
- package/vendor/abseil-cpp/absl/random/internal/platform.h +0 -13
- package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -1
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +1 -27
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +17 -0
- package/vendor/abseil-cpp/absl/status/CMakeLists.txt +16 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +4 -2
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +2 -2
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +2 -1
- package/vendor/abseil-cpp/absl/status/status.cc +4 -0
- package/vendor/abseil-cpp/absl/status/status.h +5 -0
- package/vendor/abseil-cpp/absl/status/status_matchers.h +48 -0
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +27 -0
- package/vendor/abseil-cpp/absl/status/status_test.cc +1 -0
- package/vendor/abseil-cpp/absl/status/statusor.h +1 -1
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +101 -21
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +99 -5
- package/vendor/abseil-cpp/absl/strings/ascii.h +9 -4
- package/vendor/abseil-cpp/absl/strings/cord.cc +15 -10
- package/vendor/abseil-cpp/absl/strings/cord.h +1 -1
- package/vendor/abseil-cpp/absl/strings/escaping.cc +126 -94
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +2 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +8 -8
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +24 -18
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +10 -16
- package/vendor/abseil-cpp/absl/strings/internal/escaping.h +9 -7
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -12
- package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +21 -7
- package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +495 -8
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -15
- package/vendor/abseil-cpp/absl/strings/numbers.cc +71 -8
- package/vendor/abseil-cpp/absl/strings/numbers.h +25 -12
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +70 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
- package/vendor/abseil-cpp/absl/strings/str_cat.cc +96 -91
- package/vendor/abseil-cpp/absl/strings/str_cat.h +17 -12
- package/vendor/abseil-cpp/absl/strings/str_format_test.cc +4 -4
- package/vendor/abseil-cpp/absl/strings/str_split.h +1 -1
- package/vendor/abseil-cpp/absl/strings/str_split_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/string_view.h +8 -718
- package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1 -1265
- package/vendor/abseil-cpp/absl/strings/substitute.cc +24 -24
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +2 -3
- package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +15 -5
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2 -1
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +47 -23
- package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/time/civil_time_test.cc +58 -103
- package/vendor/abseil-cpp/absl/time/clock.cc +18 -16
- package/vendor/abseil-cpp/absl/time/clock_test.cc +2 -2
- package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +144 -0
- package/vendor/abseil-cpp/absl/time/duration_test.cc +26 -29
- package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +7 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +4 -2
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +9 -9
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +12 -12
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +47 -47
- package/vendor/abseil-cpp/absl/time/time.cc +4 -4
- package/vendor/abseil-cpp/absl/time/time.h +10 -10
- package/vendor/abseil-cpp/absl/time/time_test.cc +1 -0
- package/vendor/abseil-cpp/absl/types/compare.h +62 -61
- package/vendor/abseil-cpp/absl/types/compare_test.cc +3 -3
- package/vendor/abseil-cpp/absl/types/internal/span.h +1 -0
- package/vendor/abseil-cpp/absl/types/optional.h +2 -2
- package/vendor/abseil-cpp/absl/types/span.h +10 -2
- package/vendor/abseil-cpp/absl/utility/utility.h +13 -0
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +0 -1
- package/vendor/abseil-cpp/ci/cmake_common.sh +1 -1
- package/vendor/abseil-cpp/ci/cmake_install_test.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +2 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +3 -2
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +5 -0
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +6 -1
- package/vendor/abseil-cpp/absl/base/internal/identity.h +0 -39
- package/vendor/abseil-cpp/absl/strings/string_view.cc +0 -257
- package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +0 -380
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
#include "absl/base/nullability.h"
|
|
27
27
|
#include "absl/strings/ascii.h"
|
|
28
28
|
#include "absl/strings/escaping.h"
|
|
29
|
-
#include "absl/strings/internal/
|
|
29
|
+
#include "absl/strings/internal/append_and_overwrite.h"
|
|
30
30
|
#include "absl/strings/numbers.h"
|
|
31
31
|
#include "absl/strings/str_cat.h"
|
|
32
32
|
#include "absl/strings/string_view.h"
|
|
@@ -85,29 +85,29 @@ void SubstituteAndAppendArray(std::string* absl_nonnull output,
|
|
|
85
85
|
if (size == 0) return;
|
|
86
86
|
|
|
87
87
|
// Build the string.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
88
|
+
ABSL_INTERNAL_CHECK(size <= output->max_size() - output->size(),
|
|
89
|
+
"Exceeds std::string::max_size()");
|
|
90
|
+
strings_internal::StringAppendAndOverwrite(
|
|
91
|
+
*output, size, [format, args_array](char* const buf, size_t buf_size) {
|
|
92
|
+
char* target = buf;
|
|
93
|
+
for (size_t i = 0; i < format.size(); i++) {
|
|
94
|
+
if (format[i] == '$') {
|
|
95
|
+
if (absl::ascii_isdigit(
|
|
96
|
+
static_cast<unsigned char>(format[i + 1]))) {
|
|
97
|
+
const absl::string_view src = args_array[format[i + 1] - '0'];
|
|
98
|
+
target = std::copy(src.begin(), src.end(), target);
|
|
99
|
+
++i; // Skip next char.
|
|
100
|
+
} else if (format[i + 1] == '$') {
|
|
101
|
+
*target++ = '$';
|
|
102
|
+
++i; // Skip next char.
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
105
|
+
*target++ = format[i];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
assert(target == buf + buf_size);
|
|
109
|
+
return buf_size;
|
|
110
|
+
});
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
Arg::Arg(const void* absl_nullable value) {
|
|
@@ -72,9 +72,7 @@ cc_library(
|
|
|
72
72
|
"//absl/base:core_headers",
|
|
73
73
|
"//absl/base:raw_logging_internal",
|
|
74
74
|
"//absl/time",
|
|
75
|
-
]
|
|
76
|
-
"//conditions:default": [],
|
|
77
|
-
}),
|
|
75
|
+
],
|
|
78
76
|
)
|
|
79
77
|
|
|
80
78
|
cc_test(
|
|
@@ -148,6 +146,7 @@ cc_library(
|
|
|
148
146
|
"//absl/base:tracing_internal",
|
|
149
147
|
"//absl/debugging:stacktrace",
|
|
150
148
|
"//absl/debugging:symbolize",
|
|
149
|
+
"//absl/meta:type_traits",
|
|
151
150
|
"//absl/time",
|
|
152
151
|
] + select({
|
|
153
152
|
"//conditions:default": [],
|
|
@@ -129,8 +129,8 @@ class KernelTimeout {
|
|
|
129
129
|
std::chrono::nanoseconds ToChronoDuration() const;
|
|
130
130
|
|
|
131
131
|
// Returns true if steady (aka monotonic) clocks are supported by the system.
|
|
132
|
-
// This
|
|
133
|
-
//
|
|
132
|
+
// This currently returns true on all platforms, but we have encountered
|
|
133
|
+
// platforms that once lacked steady clock support.
|
|
134
134
|
static constexpr bool SupportsSteadyClock() { return true; }
|
|
135
135
|
|
|
136
136
|
private:
|
|
@@ -24,12 +24,22 @@
|
|
|
24
24
|
#include "absl/time/time.h"
|
|
25
25
|
#include "gtest/gtest.h"
|
|
26
26
|
|
|
27
|
-
//
|
|
28
|
-
|
|
27
|
+
#if 0 // All supported platforms currently have steady clocks.
|
|
28
|
+
#define ABSL_INTERNAL_KERNEL_TIMEOUT_SUPPORTS_STEADY_CLOCK 0
|
|
29
|
+
#else
|
|
30
|
+
#define ABSL_INTERNAL_KERNEL_TIMEOUT_SUPPORTS_STEADY_CLOCK 1
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
static_assert(
|
|
34
|
+
absl::synchronization_internal::KernelTimeout::SupportsSteadyClock() ==
|
|
35
|
+
static_cast<bool>(ABSL_INTERNAL_KERNEL_TIMEOUT_SUPPORTS_STEADY_CLOCK));
|
|
36
|
+
|
|
37
|
+
// Randomizing the value of clock_gettime() for CLOCK_MONOTONIC.
|
|
38
|
+
// This works by overriding a weak symbol in glibc.
|
|
29
39
|
// We should be resistant to this randomization when !SupportsSteadyClock().
|
|
30
|
-
#if
|
|
31
|
-
!defined(ABSL_HAVE_ADDRESS_SANITIZER) &&
|
|
32
|
-
!defined(ABSL_HAVE_MEMORY_SANITIZER) &&
|
|
40
|
+
#if !ABSL_INTERNAL_KERNEL_TIMEOUT_SUPPORTS_STEADY_CLOCK && \
|
|
41
|
+
!defined(ABSL_HAVE_ADDRESS_SANITIZER) && \
|
|
42
|
+
!defined(ABSL_HAVE_MEMORY_SANITIZER) && \
|
|
33
43
|
!defined(ABSL_HAVE_THREAD_SANITIZER)
|
|
34
44
|
extern "C" int __clock_gettime(clockid_t c, struct timespec* ts);
|
|
35
45
|
|
|
@@ -745,7 +745,8 @@ static unsigned TsanFlags(Mutex::MuHow how) {
|
|
|
745
745
|
Mutex::~Mutex() { Dtor(); }
|
|
746
746
|
#endif
|
|
747
747
|
|
|
748
|
-
#if !defined(NDEBUG) || defined(ABSL_HAVE_THREAD_SANITIZER)
|
|
748
|
+
#if !defined(NDEBUG) || defined(ABSL_HAVE_THREAD_SANITIZER) || \
|
|
749
|
+
defined(ABSL_BUILD_DLL)
|
|
749
750
|
void Mutex::Dtor() {
|
|
750
751
|
if (kDebugMode) {
|
|
751
752
|
this->ForgetDeadlockInfo();
|
|
@@ -61,18 +61,16 @@
|
|
|
61
61
|
#include <atomic>
|
|
62
62
|
#include <cstdint>
|
|
63
63
|
#include <cstring>
|
|
64
|
-
#include <iterator>
|
|
65
|
-
#include <string>
|
|
66
64
|
|
|
67
65
|
#include "absl/base/attributes.h"
|
|
66
|
+
#include "absl/base/config.h"
|
|
68
67
|
#include "absl/base/const_init.h"
|
|
69
|
-
#include "absl/base/internal/identity.h"
|
|
70
|
-
#include "absl/base/internal/low_level_alloc.h"
|
|
71
68
|
#include "absl/base/internal/thread_identity.h"
|
|
72
69
|
#include "absl/base/internal/tsan_mutex_interface.h"
|
|
70
|
+
#include "absl/base/macros.h"
|
|
73
71
|
#include "absl/base/nullability.h"
|
|
74
|
-
#include "absl/base/port.h"
|
|
75
72
|
#include "absl/base/thread_annotations.h"
|
|
73
|
+
#include "absl/meta/type_traits.h"
|
|
76
74
|
#include "absl/synchronization/internal/kernel_timeout.h"
|
|
77
75
|
#include "absl/synchronization/internal/per_thread_sem.h"
|
|
78
76
|
#include "absl/time/time.h"
|
|
@@ -180,6 +178,7 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
180
178
|
// then acquires it exclusively. (This lock is also known as a "write lock.")
|
|
181
179
|
void lock() ABSL_EXCLUSIVE_LOCK_FUNCTION();
|
|
182
180
|
|
|
181
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
183
182
|
inline void Lock() ABSL_EXCLUSIVE_LOCK_FUNCTION() { lock(); }
|
|
184
183
|
|
|
185
184
|
// Mutex::unlock()
|
|
@@ -188,6 +187,7 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
188
187
|
// free state. Calling thread must hold the `Mutex` exclusively.
|
|
189
188
|
void unlock() ABSL_UNLOCK_FUNCTION();
|
|
190
189
|
|
|
190
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
191
191
|
inline void Unlock() ABSL_UNLOCK_FUNCTION() { unlock(); }
|
|
192
192
|
|
|
193
193
|
// Mutex::try_lock()
|
|
@@ -197,6 +197,7 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
197
197
|
// probability if the `Mutex` was free.
|
|
198
198
|
[[nodiscard]] bool try_lock() ABSL_EXCLUSIVE_TRYLOCK_FUNCTION(true);
|
|
199
199
|
|
|
200
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
200
201
|
[[nodiscard]] bool TryLock() ABSL_EXCLUSIVE_TRYLOCK_FUNCTION(true) {
|
|
201
202
|
return try_lock();
|
|
202
203
|
}
|
|
@@ -251,6 +252,7 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
251
252
|
// lock on the mutex.
|
|
252
253
|
void lock_shared() ABSL_SHARED_LOCK_FUNCTION();
|
|
253
254
|
|
|
255
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
254
256
|
void ReaderLock() ABSL_SHARED_LOCK_FUNCTION() { lock_shared(); }
|
|
255
257
|
|
|
256
258
|
// Mutex::unlock_shared()
|
|
@@ -260,6 +262,7 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
260
262
|
// Note that you cannot call `unlock_shared()` on a mutex held in write mode.
|
|
261
263
|
void unlock_shared() ABSL_UNLOCK_FUNCTION();
|
|
262
264
|
|
|
265
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
263
266
|
void ReaderUnlock() ABSL_UNLOCK_FUNCTION() { unlock_shared(); }
|
|
264
267
|
|
|
265
268
|
// Mutex::try_lock_shared()
|
|
@@ -269,6 +272,7 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
269
272
|
// `true` with high probability if the `Mutex` was free or shared.
|
|
270
273
|
[[nodiscard]] bool try_lock_shared() ABSL_SHARED_TRYLOCK_FUNCTION(true);
|
|
271
274
|
|
|
275
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
272
276
|
[[nodiscard]] bool ReaderTryLock() ABSL_SHARED_TRYLOCK_FUNCTION(true) {
|
|
273
277
|
return try_lock_shared();
|
|
274
278
|
}
|
|
@@ -293,10 +297,13 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
293
297
|
// These methods may be used (along with the complementary `Reader*()`
|
|
294
298
|
// methods) to distinguish simple exclusive `Mutex` usage (`Lock()`,
|
|
295
299
|
// etc.) from reader/writer lock usage.
|
|
300
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
296
301
|
void WriterLock() ABSL_EXCLUSIVE_LOCK_FUNCTION() { lock(); }
|
|
297
302
|
|
|
303
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
298
304
|
void WriterUnlock() ABSL_UNLOCK_FUNCTION() { unlock(); }
|
|
299
305
|
|
|
306
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
300
307
|
[[nodiscard]] bool WriterTryLock() ABSL_EXCLUSIVE_TRYLOCK_FUNCTION(true) {
|
|
301
308
|
return try_lock();
|
|
302
309
|
}
|
|
@@ -561,10 +568,10 @@ class ABSL_LOCKABLE ABSL_ATTRIBUTE_WARN_UNUSED Mutex {
|
|
|
561
568
|
base_internal::PerThreadSynch* absl_nonnull w);
|
|
562
569
|
void Dtor();
|
|
563
570
|
|
|
564
|
-
friend class CondVar;
|
|
571
|
+
friend class CondVar; // for access to Trans()/Fer().
|
|
565
572
|
void Trans(MuHow absl_nonnull how); // used for CondVar->Mutex transfer
|
|
566
573
|
void Fer(base_internal::PerThreadSynch* absl_nonnull
|
|
567
|
-
|
|
574
|
+
w); // used for CondVar->Mutex transfer
|
|
568
575
|
|
|
569
576
|
// Catch the error of writing Mutex when intending MutexLock.
|
|
570
577
|
explicit Mutex(const volatile Mutex* absl_nullable /*ignored*/) {}
|
|
@@ -610,6 +617,8 @@ class ABSL_SCOPED_LOCKABLE MutexLock {
|
|
|
610
617
|
// Calls `mu->lock()` and returns when that call returns. That is, `*mu` is
|
|
611
618
|
// guaranteed to be locked when this object is constructed. Requires that
|
|
612
619
|
// `mu` be dereferenceable.
|
|
620
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
621
|
+
ABSL_REFACTOR_INLINE
|
|
613
622
|
explicit MutexLock(Mutex* absl_nonnull mu) ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
|
|
614
623
|
: MutexLock(*mu) {}
|
|
615
624
|
|
|
@@ -622,6 +631,8 @@ class ABSL_SCOPED_LOCKABLE MutexLock {
|
|
|
622
631
|
this->mu_.LockWhen(cond);
|
|
623
632
|
}
|
|
624
633
|
|
|
634
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
635
|
+
ABSL_REFACTOR_INLINE
|
|
625
636
|
explicit MutexLock(Mutex* absl_nonnull mu, const Condition& cond)
|
|
626
637
|
ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
|
|
627
638
|
: MutexLock(*mu, cond) {}
|
|
@@ -649,6 +660,8 @@ class ABSL_SCOPED_LOCKABLE ReaderMutexLock {
|
|
|
649
660
|
mu.lock_shared();
|
|
650
661
|
}
|
|
651
662
|
|
|
663
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
664
|
+
ABSL_REFACTOR_INLINE
|
|
652
665
|
explicit ReaderMutexLock(Mutex* absl_nonnull mu) ABSL_SHARED_LOCK_FUNCTION(mu)
|
|
653
666
|
: ReaderMutexLock(*mu) {}
|
|
654
667
|
|
|
@@ -658,6 +671,8 @@ class ABSL_SCOPED_LOCKABLE ReaderMutexLock {
|
|
|
658
671
|
mu.ReaderLockWhen(cond);
|
|
659
672
|
}
|
|
660
673
|
|
|
674
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
675
|
+
ABSL_REFACTOR_INLINE
|
|
661
676
|
explicit ReaderMutexLock(Mutex* absl_nonnull mu, const Condition& cond)
|
|
662
677
|
ABSL_SHARED_LOCK_FUNCTION(mu)
|
|
663
678
|
: ReaderMutexLock(*mu, cond) {}
|
|
@@ -685,6 +700,8 @@ class ABSL_SCOPED_LOCKABLE WriterMutexLock {
|
|
|
685
700
|
mu.lock();
|
|
686
701
|
}
|
|
687
702
|
|
|
703
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
704
|
+
ABSL_REFACTOR_INLINE
|
|
688
705
|
explicit WriterMutexLock(Mutex* absl_nonnull mu)
|
|
689
706
|
ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
|
|
690
707
|
: WriterMutexLock(*mu) {}
|
|
@@ -696,6 +713,8 @@ class ABSL_SCOPED_LOCKABLE WriterMutexLock {
|
|
|
696
713
|
mu.WriterLockWhen(cond);
|
|
697
714
|
}
|
|
698
715
|
|
|
716
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
717
|
+
ABSL_REFACTOR_INLINE
|
|
699
718
|
explicit WriterMutexLock(Mutex* absl_nonnull mu, const Condition& cond)
|
|
700
719
|
ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
|
|
701
720
|
: WriterMutexLock(*mu, cond) {}
|
|
@@ -796,27 +815,27 @@ class Condition {
|
|
|
796
815
|
template <typename T, typename = void>
|
|
797
816
|
Condition(
|
|
798
817
|
bool (*absl_nonnull func)(T* absl_nullability_unknown),
|
|
799
|
-
typename absl::
|
|
800
|
-
|
|
818
|
+
typename absl::type_identity<T>::type* absl_nullability_unknown
|
|
819
|
+
arg);
|
|
801
820
|
|
|
802
821
|
// Templated version for invoking a method that returns a `bool`.
|
|
803
822
|
//
|
|
804
823
|
// `Condition(object, &Class::Method)` constructs a `Condition` that evaluates
|
|
805
824
|
// `object->Method()`.
|
|
806
825
|
//
|
|
807
|
-
// Implementation Note: `absl::
|
|
826
|
+
// Implementation Note: `absl::type_identity` is used to allow
|
|
808
827
|
// methods to come from base classes. A simpler signature like
|
|
809
828
|
// `Condition(T*, bool (T::*)())` does not suffice.
|
|
810
829
|
template <typename T>
|
|
811
830
|
Condition(
|
|
812
831
|
T* absl_nonnull object,
|
|
813
|
-
bool (absl::
|
|
832
|
+
bool (absl::type_identity<T>::type::* absl_nonnull method)());
|
|
814
833
|
|
|
815
834
|
// Same as above, for const members
|
|
816
835
|
template <typename T>
|
|
817
836
|
Condition(
|
|
818
837
|
const T* absl_nonnull object,
|
|
819
|
-
bool (absl::
|
|
838
|
+
bool (absl::type_identity<T>::type::* absl_nonnull method)()
|
|
820
839
|
const);
|
|
821
840
|
|
|
822
841
|
// A Condition that returns the value of `*cond`
|
|
@@ -1099,6 +1118,8 @@ class ABSL_SCOPED_LOCKABLE ReleasableMutexLock {
|
|
|
1099
1118
|
this->mu_->lock();
|
|
1100
1119
|
}
|
|
1101
1120
|
|
|
1121
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
1122
|
+
ABSL_REFACTOR_INLINE
|
|
1102
1123
|
explicit ReleasableMutexLock(Mutex* absl_nonnull mu)
|
|
1103
1124
|
ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
|
|
1104
1125
|
: ReleasableMutexLock(*mu) {}
|
|
@@ -1110,6 +1131,8 @@ class ABSL_SCOPED_LOCKABLE ReleasableMutexLock {
|
|
|
1110
1131
|
this->mu_->LockWhen(cond);
|
|
1111
1132
|
}
|
|
1112
1133
|
|
|
1134
|
+
[[deprecated("Use the constructor that takes a reference instead")]]
|
|
1135
|
+
ABSL_REFACTOR_INLINE
|
|
1113
1136
|
explicit ReleasableMutexLock(Mutex* absl_nonnull mu, const Condition& cond)
|
|
1114
1137
|
ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
|
|
1115
1138
|
: ReleasableMutexLock(*mu, cond) {}
|
|
@@ -1123,7 +1146,7 @@ class ABSL_SCOPED_LOCKABLE ReleasableMutexLock {
|
|
|
1123
1146
|
void Release() ABSL_UNLOCK_FUNCTION();
|
|
1124
1147
|
|
|
1125
1148
|
private:
|
|
1126
|
-
Mutex*
|
|
1149
|
+
Mutex* absl_nullable mu_;
|
|
1127
1150
|
ReleasableMutexLock(const ReleasableMutexLock&) = delete;
|
|
1128
1151
|
ReleasableMutexLock(ReleasableMutexLock&&) = delete;
|
|
1129
1152
|
ReleasableMutexLock& operator=(const ReleasableMutexLock&) = delete;
|
|
@@ -1141,12 +1164,13 @@ ABSL_ATTRIBUTE_ALWAYS_INLINE
|
|
|
1141
1164
|
inline Mutex::~Mutex() { Dtor(); }
|
|
1142
1165
|
#endif
|
|
1143
1166
|
|
|
1144
|
-
#if defined(NDEBUG) && !defined(ABSL_HAVE_THREAD_SANITIZER)
|
|
1145
|
-
|
|
1146
|
-
//
|
|
1147
|
-
//
|
|
1148
|
-
//
|
|
1149
|
-
//
|
|
1167
|
+
#if defined(NDEBUG) && !defined(ABSL_HAVE_THREAD_SANITIZER) && \
|
|
1168
|
+
!defined(ABSL_BUILD_DLL)
|
|
1169
|
+
// Under NDEBUG and without TSAN, Dtor is normally fully inlined for
|
|
1170
|
+
// performance. However, when building Abseil as a shared library
|
|
1171
|
+
// (ABSL_BUILD_DLL), we must provide an out-of-line definition. This ensures the
|
|
1172
|
+
// Mutex::Dtor symbol is exported from the DLL, maintaining ABI compatibility
|
|
1173
|
+
// with clients that might be built in debug mode and thus expect the symbol.
|
|
1150
1174
|
ABSL_ATTRIBUTE_ALWAYS_INLINE
|
|
1151
1175
|
inline void Mutex::Dtor() {}
|
|
1152
1176
|
#endif
|
|
@@ -1185,15 +1209,15 @@ inline Condition::Condition(
|
|
|
1185
1209
|
template <typename T, typename>
|
|
1186
1210
|
inline Condition::Condition(
|
|
1187
1211
|
bool (*absl_nonnull func)(T* absl_nullability_unknown),
|
|
1188
|
-
typename absl::
|
|
1189
|
-
|
|
1212
|
+
typename absl::type_identity<T>::type* absl_nullability_unknown
|
|
1213
|
+
arg)
|
|
1190
1214
|
// Just delegate to the overload above.
|
|
1191
1215
|
: Condition(func, arg) {}
|
|
1192
1216
|
|
|
1193
1217
|
template <typename T>
|
|
1194
1218
|
inline Condition::Condition(
|
|
1195
1219
|
T* absl_nonnull object,
|
|
1196
|
-
bool (absl::
|
|
1220
|
+
bool (absl::type_identity<T>::type::* absl_nonnull method)())
|
|
1197
1221
|
: eval_(&CastAndCallMethod<T, decltype(method)>), arg_(object) {
|
|
1198
1222
|
static_assert(sizeof(&method) <= sizeof(callback_),
|
|
1199
1223
|
"An overlarge method pointer was passed to Condition.");
|
|
@@ -1203,7 +1227,7 @@ inline Condition::Condition(
|
|
|
1203
1227
|
template <typename T>
|
|
1204
1228
|
inline Condition::Condition(
|
|
1205
1229
|
const T* absl_nonnull object,
|
|
1206
|
-
bool (absl::
|
|
1230
|
+
bool (absl::type_identity<T>::type::* absl_nonnull method)()
|
|
1207
1231
|
const)
|
|
1208
1232
|
: eval_(&CastAndCallMethod<const T, decltype(method)>),
|
|
1209
1233
|
arg_(reinterpret_cast<void*>(const_cast<T*>(object))) {
|
|
@@ -77,6 +77,8 @@ absl_cc_library(
|
|
|
77
77
|
"internal/cctz/src/time_zone_posix.h"
|
|
78
78
|
"internal/cctz/src/tzfile.h"
|
|
79
79
|
"internal/cctz/src/zone_info_source.cc"
|
|
80
|
+
$<$<PLATFORM_ID:Windows>:internal/cctz/src/time_zone_name_win.cc>
|
|
81
|
+
$<$<PLATFORM_ID:Windows>:internal/cctz/src/time_zone_name_win.h>
|
|
80
82
|
COPTS
|
|
81
83
|
${ABSL_DEFAULT_COPTS}
|
|
82
84
|
DEPS
|
|
@@ -12,14 +12,13 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
#include "absl/time/civil_time.h"
|
|
16
|
-
|
|
17
15
|
#include <cstddef>
|
|
18
16
|
#include <numeric>
|
|
19
17
|
#include <string>
|
|
20
18
|
#include <vector>
|
|
21
19
|
|
|
22
20
|
#include "absl/hash/hash.h"
|
|
21
|
+
#include "absl/time/civil_time.h"
|
|
23
22
|
#include "benchmark/benchmark.h"
|
|
24
23
|
|
|
25
24
|
namespace {
|