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
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
//
|
|
118
118
|
// LTS releases can be obtained from
|
|
119
119
|
// https://github.com/abseil/abseil-cpp/releases.
|
|
120
|
-
#define ABSL_LTS_RELEASE_VERSION
|
|
120
|
+
#define ABSL_LTS_RELEASE_VERSION 20250814
|
|
121
121
|
#define ABSL_LTS_RELEASE_PATCH_LEVEL 1
|
|
122
122
|
|
|
123
123
|
// Helper macro to convert a CPP variable to a string literal.
|
|
@@ -237,6 +237,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
237
237
|
#error ABSL_HAVE_TLS cannot be directly set
|
|
238
238
|
#elif (defined(__linux__)) && (defined(__clang__) || defined(_GLIBCXX_HAVE_TLS))
|
|
239
239
|
#define ABSL_HAVE_TLS 1
|
|
240
|
+
#elif defined(__INTEL_LLVM_COMPILER)
|
|
241
|
+
#define ABSL_HAVE_TLS 1
|
|
240
242
|
#endif
|
|
241
243
|
|
|
242
244
|
// ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE
|
|
@@ -274,15 +276,12 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
274
276
|
#define ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE 1
|
|
275
277
|
#endif
|
|
276
278
|
|
|
277
|
-
|
|
278
279
|
// ABSL_HAVE_THREAD_LOCAL
|
|
279
280
|
//
|
|
280
|
-
//
|
|
281
|
-
// Checks whether C++11's `thread_local` storage duration specifier is
|
|
282
|
-
// supported.
|
|
281
|
+
// Checks whether the `thread_local` storage duration specifier is supported.
|
|
283
282
|
#ifdef ABSL_HAVE_THREAD_LOCAL
|
|
284
283
|
#error ABSL_HAVE_THREAD_LOCAL cannot be directly set
|
|
285
|
-
#
|
|
284
|
+
#elif !defined(__XTENSA__)
|
|
286
285
|
#define ABSL_HAVE_THREAD_LOCAL 1
|
|
287
286
|
#endif
|
|
288
287
|
|
|
@@ -469,6 +468,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
469
468
|
//
|
|
470
469
|
// Checks the endianness of the platform.
|
|
471
470
|
//
|
|
471
|
+
// Prefer using `std::endian` in C++20, or `absl::endian` from
|
|
472
|
+
// absl/numeric/bits.h prior to C++20.
|
|
473
|
+
//
|
|
472
474
|
// Notes: uses the built in endian macros provided by GCC (since 4.6) and
|
|
473
475
|
// Clang (since 3.2); see
|
|
474
476
|
// https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html.
|
|
@@ -520,54 +522,22 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
520
522
|
#define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0
|
|
521
523
|
#endif
|
|
522
524
|
|
|
523
|
-
//
|
|
524
|
-
//
|
|
525
|
-
// Checks whether C++17 std::any is available.
|
|
526
|
-
#ifdef ABSL_HAVE_STD_ANY
|
|
527
|
-
#error "ABSL_HAVE_STD_ANY cannot be directly set."
|
|
528
|
-
#elif defined(__cpp_lib_any) && __cpp_lib_any >= 201606L
|
|
529
|
-
#define ABSL_HAVE_STD_ANY 1
|
|
530
|
-
#elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
|
|
531
|
-
ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \
|
|
532
|
-
!ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
|
525
|
+
// Deprecated macros for polyfill detection.
|
|
533
526
|
#define ABSL_HAVE_STD_ANY 1
|
|
534
|
-
#
|
|
535
|
-
|
|
536
|
-
// ABSL_HAVE_STD_OPTIONAL
|
|
537
|
-
//
|
|
538
|
-
// Checks whether C++17 std::optional is available.
|
|
539
|
-
#ifdef ABSL_HAVE_STD_OPTIONAL
|
|
540
|
-
#error "ABSL_HAVE_STD_OPTIONAL cannot be directly set."
|
|
541
|
-
#elif defined(__cpp_lib_optional) && __cpp_lib_optional >= 202106L
|
|
542
|
-
#define ABSL_HAVE_STD_OPTIONAL 1
|
|
543
|
-
#elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
|
|
544
|
-
ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \
|
|
545
|
-
!ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
|
527
|
+
#define ABSL_USES_STD_ANY 1
|
|
546
528
|
#define ABSL_HAVE_STD_OPTIONAL 1
|
|
547
|
-
#
|
|
548
|
-
|
|
549
|
-
// ABSL_HAVE_STD_VARIANT
|
|
550
|
-
//
|
|
551
|
-
// Checks whether C++17 std::variant is available.
|
|
552
|
-
#ifdef ABSL_HAVE_STD_VARIANT
|
|
553
|
-
#error "ABSL_HAVE_STD_VARIANT cannot be directly set."
|
|
554
|
-
#elif defined(__cpp_lib_variant) && __cpp_lib_variant >= 201606L
|
|
555
|
-
#define ABSL_HAVE_STD_VARIANT 1
|
|
556
|
-
#elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
|
|
557
|
-
ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \
|
|
558
|
-
!ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
|
529
|
+
#define ABSL_USES_STD_OPTIONAL 1
|
|
559
530
|
#define ABSL_HAVE_STD_VARIANT 1
|
|
560
|
-
#
|
|
531
|
+
#define ABSL_USES_STD_VARIANT 1
|
|
561
532
|
|
|
562
533
|
// ABSL_HAVE_STD_STRING_VIEW
|
|
563
534
|
//
|
|
564
|
-
//
|
|
535
|
+
// Deprecated: always defined to 1.
|
|
536
|
+
// std::string_view was added in C++17, which means all versions of C++
|
|
537
|
+
// supported by Abseil have it.
|
|
565
538
|
#ifdef ABSL_HAVE_STD_STRING_VIEW
|
|
566
539
|
#error "ABSL_HAVE_STD_STRING_VIEW cannot be directly set."
|
|
567
|
-
#
|
|
568
|
-
#define ABSL_HAVE_STD_STRING_VIEW 1
|
|
569
|
-
#elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
|
|
570
|
-
ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L
|
|
540
|
+
#else
|
|
571
541
|
#define ABSL_HAVE_STD_STRING_VIEW 1
|
|
572
542
|
#endif
|
|
573
543
|
|
|
@@ -587,63 +557,15 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
587
557
|
#define ABSL_HAVE_STD_ORDERING 1
|
|
588
558
|
#endif
|
|
589
559
|
|
|
590
|
-
// ABSL_USES_STD_ANY
|
|
591
|
-
//
|
|
592
|
-
// Indicates whether absl::any is an alias for std::any.
|
|
593
|
-
#if !defined(ABSL_OPTION_USE_STD_ANY)
|
|
594
|
-
#error options.h is misconfigured.
|
|
595
|
-
#elif ABSL_OPTION_USE_STD_ANY == 0 || \
|
|
596
|
-
(ABSL_OPTION_USE_STD_ANY == 2 && !defined(ABSL_HAVE_STD_ANY))
|
|
597
|
-
#undef ABSL_USES_STD_ANY
|
|
598
|
-
#elif ABSL_OPTION_USE_STD_ANY == 1 || \
|
|
599
|
-
(ABSL_OPTION_USE_STD_ANY == 2 && defined(ABSL_HAVE_STD_ANY))
|
|
600
|
-
#define ABSL_USES_STD_ANY 1
|
|
601
|
-
#else
|
|
602
|
-
#error options.h is misconfigured.
|
|
603
|
-
#endif
|
|
604
|
-
|
|
605
|
-
// ABSL_USES_STD_OPTIONAL
|
|
606
|
-
//
|
|
607
|
-
// Indicates whether absl::optional is an alias for std::optional.
|
|
608
|
-
#if !defined(ABSL_OPTION_USE_STD_OPTIONAL)
|
|
609
|
-
#error options.h is misconfigured.
|
|
610
|
-
#elif ABSL_OPTION_USE_STD_OPTIONAL == 0 || \
|
|
611
|
-
(ABSL_OPTION_USE_STD_OPTIONAL == 2 && !defined(ABSL_HAVE_STD_OPTIONAL))
|
|
612
|
-
#undef ABSL_USES_STD_OPTIONAL
|
|
613
|
-
#elif ABSL_OPTION_USE_STD_OPTIONAL == 1 || \
|
|
614
|
-
(ABSL_OPTION_USE_STD_OPTIONAL == 2 && defined(ABSL_HAVE_STD_OPTIONAL))
|
|
615
|
-
#define ABSL_USES_STD_OPTIONAL 1
|
|
616
|
-
#else
|
|
617
|
-
#error options.h is misconfigured.
|
|
618
|
-
#endif
|
|
619
|
-
|
|
620
|
-
// ABSL_USES_STD_VARIANT
|
|
621
|
-
//
|
|
622
|
-
// Indicates whether absl::variant is an alias for std::variant.
|
|
623
|
-
#if !defined(ABSL_OPTION_USE_STD_VARIANT)
|
|
624
|
-
#error options.h is misconfigured.
|
|
625
|
-
#elif ABSL_OPTION_USE_STD_VARIANT == 0 || \
|
|
626
|
-
(ABSL_OPTION_USE_STD_VARIANT == 2 && !defined(ABSL_HAVE_STD_VARIANT))
|
|
627
|
-
#undef ABSL_USES_STD_VARIANT
|
|
628
|
-
#elif ABSL_OPTION_USE_STD_VARIANT == 1 || \
|
|
629
|
-
(ABSL_OPTION_USE_STD_VARIANT == 2 && defined(ABSL_HAVE_STD_VARIANT))
|
|
630
|
-
#define ABSL_USES_STD_VARIANT 1
|
|
631
|
-
#else
|
|
632
|
-
#error options.h is misconfigured.
|
|
633
|
-
#endif
|
|
634
|
-
|
|
635
560
|
// ABSL_USES_STD_STRING_VIEW
|
|
636
561
|
//
|
|
637
562
|
// Indicates whether absl::string_view is an alias for std::string_view.
|
|
638
563
|
#if !defined(ABSL_OPTION_USE_STD_STRING_VIEW)
|
|
639
564
|
#error options.h is misconfigured.
|
|
640
|
-
#elif ABSL_OPTION_USE_STD_STRING_VIEW == 0
|
|
641
|
-
(ABSL_OPTION_USE_STD_STRING_VIEW == 2 && \
|
|
642
|
-
!defined(ABSL_HAVE_STD_STRING_VIEW))
|
|
565
|
+
#elif ABSL_OPTION_USE_STD_STRING_VIEW == 0
|
|
643
566
|
#undef ABSL_USES_STD_STRING_VIEW
|
|
644
567
|
#elif ABSL_OPTION_USE_STD_STRING_VIEW == 1 || \
|
|
645
|
-
|
|
646
|
-
defined(ABSL_HAVE_STD_STRING_VIEW))
|
|
568
|
+
ABSL_OPTION_USE_STD_STRING_VIEW == 2
|
|
647
569
|
#define ABSL_USES_STD_STRING_VIEW 1
|
|
648
570
|
#else
|
|
649
571
|
#error options.h is misconfigured.
|
|
@@ -665,14 +587,6 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
665
587
|
#error options.h is misconfigured.
|
|
666
588
|
#endif
|
|
667
589
|
|
|
668
|
-
// In debug mode, MSVC 2017's std::variant throws a EXCEPTION_ACCESS_VIOLATION
|
|
669
|
-
// SEH exception from emplace for variant<SomeStruct> when constructing the
|
|
670
|
-
// struct can throw. This defeats some of variant_test and
|
|
671
|
-
// variant_exception_safety_test.
|
|
672
|
-
#if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_DEBUG)
|
|
673
|
-
#define ABSL_INTERNAL_MSVC_2017_DBG_MODE
|
|
674
|
-
#endif
|
|
675
|
-
|
|
676
590
|
// ABSL_INTERNAL_MANGLED_NS
|
|
677
591
|
// ABSL_INTERNAL_MANGLED_BACKREFERENCE
|
|
678
592
|
//
|
|
@@ -813,36 +727,15 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
|
813
727
|
|
|
814
728
|
// ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION
|
|
815
729
|
//
|
|
816
|
-
//
|
|
730
|
+
// Deprecated: always defined to 1.
|
|
731
|
+
// Class template argument deduction is a language feature added in C++17,
|
|
732
|
+
// which means all versions of C++ supported by Abseil have it.
|
|
817
733
|
#ifdef ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION
|
|
818
734
|
#error "ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION cannot be directly set."
|
|
819
|
-
#
|
|
735
|
+
#else
|
|
820
736
|
#define ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION 1
|
|
821
737
|
#endif
|
|
822
738
|
|
|
823
|
-
// ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
|
824
|
-
//
|
|
825
|
-
// Prior to C++17, static constexpr variables defined in classes required a
|
|
826
|
-
// separate definition outside of the class body, for example:
|
|
827
|
-
//
|
|
828
|
-
// class Foo {
|
|
829
|
-
// static constexpr int kBar = 0;
|
|
830
|
-
// };
|
|
831
|
-
// constexpr int Foo::kBar;
|
|
832
|
-
//
|
|
833
|
-
// In C++17, these variables defined in classes are considered inline variables,
|
|
834
|
-
// and the extra declaration is redundant. Since some compilers warn on the
|
|
835
|
-
// extra declarations, ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL can be used
|
|
836
|
-
// conditionally ignore them:
|
|
837
|
-
//
|
|
838
|
-
// #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
|
839
|
-
// constexpr int Foo::kBar;
|
|
840
|
-
// #endif
|
|
841
|
-
#if defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
|
|
842
|
-
ABSL_INTERNAL_CPLUSPLUS_LANG < 201703L
|
|
843
|
-
#define ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL 1
|
|
844
|
-
#endif
|
|
845
|
-
|
|
846
739
|
// `ABSL_INTERNAL_HAS_RTTI` determines whether abseil is being compiled with
|
|
847
740
|
// RTTI support.
|
|
848
741
|
#ifdef ABSL_INTERNAL_HAS_RTTI
|
|
@@ -705,10 +705,6 @@ struct BasicGuaranteeWithExtraContracts : public NonNegative {
|
|
|
705
705
|
static constexpr int kExceptionSentinel = 9999;
|
|
706
706
|
};
|
|
707
707
|
|
|
708
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
|
709
|
-
constexpr int BasicGuaranteeWithExtraContracts::kExceptionSentinel;
|
|
710
|
-
#endif
|
|
711
|
-
|
|
712
708
|
TEST(ExceptionCheckTest, BasicGuaranteeWithExtraContracts) {
|
|
713
709
|
auto tester_with_val =
|
|
714
710
|
tester.WithInitialValue(BasicGuaranteeWithExtraContracts{});
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//
|
|
2
1
|
// Copyright 2020 The Abseil Authors.
|
|
3
2
|
//
|
|
4
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -14,37 +13,33 @@
|
|
|
14
13
|
// limitations under the License.
|
|
15
14
|
//
|
|
16
15
|
|
|
17
|
-
#ifndef
|
|
18
|
-
#define
|
|
16
|
+
#ifndef ABSL_BASE_FAST_TYPE_ID_H_
|
|
17
|
+
#define ABSL_BASE_FAST_TYPE_ID_H_
|
|
19
18
|
|
|
20
19
|
#include "absl/base/config.h"
|
|
21
20
|
|
|
22
21
|
namespace absl {
|
|
23
22
|
ABSL_NAMESPACE_BEGIN
|
|
24
|
-
namespace base_internal {
|
|
25
23
|
|
|
24
|
+
namespace base_internal {
|
|
26
25
|
template <typename Type>
|
|
27
26
|
struct FastTypeTag {
|
|
28
|
-
constexpr
|
|
27
|
+
static constexpr char kDummyVar = 0;
|
|
29
28
|
};
|
|
29
|
+
} // namespace base_internal
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
constexpr char FastTypeTag<Type>::dummy_var;
|
|
34
|
-
#endif
|
|
31
|
+
// The type returned by `absl::FastTypeId<T>()`.
|
|
32
|
+
using FastTypeIdType = const void*;
|
|
35
33
|
|
|
36
|
-
// FastTypeId<Type>() evaluates at compile
|
|
34
|
+
// `absl::FastTypeId<Type>()` evaluates at compile-time to a unique id for the
|
|
37
35
|
// passed-in type. These are meant to be good match for keys into maps or
|
|
38
36
|
// straight up comparisons.
|
|
39
|
-
using FastTypeIdType = const void*;
|
|
40
|
-
|
|
41
37
|
template <typename Type>
|
|
42
|
-
constexpr
|
|
43
|
-
return &FastTypeTag<Type>::
|
|
38
|
+
constexpr FastTypeIdType FastTypeId() {
|
|
39
|
+
return &base_internal::FastTypeTag<Type>::kDummyVar;
|
|
44
40
|
}
|
|
45
41
|
|
|
46
|
-
} // namespace base_internal
|
|
47
42
|
ABSL_NAMESPACE_END
|
|
48
43
|
} // namespace absl
|
|
49
44
|
|
|
50
|
-
#endif //
|
|
45
|
+
#endif // ABSL_BASE_FAST_TYPE_ID_H_
|
|
@@ -12,18 +12,19 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
#include "absl/base/
|
|
15
|
+
#include "absl/base/fast_type_id.h"
|
|
16
16
|
|
|
17
|
+
#include <cstddef>
|
|
17
18
|
#include <cstdint>
|
|
18
19
|
#include <map>
|
|
19
20
|
#include <vector>
|
|
20
21
|
|
|
21
22
|
#include "gtest/gtest.h"
|
|
23
|
+
#include "absl/base/macros.h"
|
|
22
24
|
|
|
23
25
|
namespace {
|
|
24
|
-
namespace bi = absl::base_internal;
|
|
25
26
|
|
|
26
|
-
//
|
|
27
|
+
// NOLINTBEGIN(runtime/int)
|
|
27
28
|
#define PRIM_TYPES(A) \
|
|
28
29
|
A(bool) \
|
|
29
30
|
A(short) \
|
|
@@ -37,28 +38,30 @@ namespace bi = absl::base_internal;
|
|
|
37
38
|
A(float) \
|
|
38
39
|
A(double) \
|
|
39
40
|
A(long double)
|
|
41
|
+
// NOLINTEND(runtime/int)
|
|
40
42
|
|
|
41
43
|
TEST(FastTypeIdTest, PrimitiveTypes) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
// clang-format off
|
|
45
|
+
constexpr absl::FastTypeIdType kTypeIds[] = {
|
|
46
|
+
#define A(T) absl::FastTypeId<T>(),
|
|
44
47
|
PRIM_TYPES(A)
|
|
45
48
|
#undef A
|
|
46
|
-
#define A(T)
|
|
49
|
+
#define A(T) absl::FastTypeId<const T>(),
|
|
47
50
|
PRIM_TYPES(A)
|
|
48
51
|
#undef A
|
|
49
|
-
#define A(T)
|
|
52
|
+
#define A(T) absl::FastTypeId<volatile T>(),
|
|
50
53
|
PRIM_TYPES(A)
|
|
51
54
|
#undef A
|
|
52
|
-
#define A(T)
|
|
55
|
+
#define A(T) absl::FastTypeId<const volatile T>(),
|
|
53
56
|
PRIM_TYPES(A)
|
|
54
57
|
#undef A
|
|
55
58
|
};
|
|
56
|
-
|
|
59
|
+
// clang-format on
|
|
57
60
|
|
|
58
|
-
for (
|
|
59
|
-
EXPECT_EQ(
|
|
60
|
-
for (
|
|
61
|
-
EXPECT_NE(
|
|
61
|
+
for (size_t i = 0; i < ABSL_ARRAYSIZE(kTypeIds); ++i) {
|
|
62
|
+
EXPECT_EQ(kTypeIds[i], kTypeIds[i]);
|
|
63
|
+
for (size_t j = 0; j < i; ++j) {
|
|
64
|
+
EXPECT_NE(kTypeIds[i], kTypeIds[j]);
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
}
|
|
@@ -74,41 +77,42 @@ TEST(FastTypeIdTest, PrimitiveTypes) {
|
|
|
74
77
|
A(uint64_t)
|
|
75
78
|
|
|
76
79
|
TEST(FastTypeIdTest, FixedWidthTypes) {
|
|
77
|
-
|
|
78
|
-
|
|
80
|
+
// clang-format off
|
|
81
|
+
constexpr absl::FastTypeIdType kTypeIds[] = {
|
|
82
|
+
#define A(T) absl::FastTypeId<T>(),
|
|
79
83
|
FIXED_WIDTH_TYPES(A)
|
|
80
84
|
#undef A
|
|
81
|
-
#define A(T)
|
|
85
|
+
#define A(T) absl::FastTypeId<const T>(),
|
|
82
86
|
FIXED_WIDTH_TYPES(A)
|
|
83
87
|
#undef A
|
|
84
|
-
#define A(T)
|
|
88
|
+
#define A(T) absl::FastTypeId<volatile T>(),
|
|
85
89
|
FIXED_WIDTH_TYPES(A)
|
|
86
90
|
#undef A
|
|
87
|
-
#define A(T)
|
|
91
|
+
#define A(T) absl::FastTypeId<const volatile T>(),
|
|
88
92
|
FIXED_WIDTH_TYPES(A)
|
|
89
93
|
#undef A
|
|
90
94
|
};
|
|
91
|
-
|
|
95
|
+
// clang-format on
|
|
92
96
|
|
|
93
|
-
for (
|
|
94
|
-
EXPECT_EQ(
|
|
95
|
-
for (
|
|
96
|
-
EXPECT_NE(
|
|
97
|
+
for (size_t i = 0; i < ABSL_ARRAYSIZE(kTypeIds); ++i) {
|
|
98
|
+
EXPECT_EQ(kTypeIds[i], kTypeIds[i]);
|
|
99
|
+
for (size_t j = 0; j < i; ++j) {
|
|
100
|
+
EXPECT_NE(kTypeIds[i], kTypeIds[j]);
|
|
97
101
|
}
|
|
98
102
|
}
|
|
99
103
|
}
|
|
100
104
|
|
|
101
105
|
TEST(FastTypeIdTest, AliasTypes) {
|
|
102
106
|
using int_alias = int;
|
|
103
|
-
EXPECT_EQ(
|
|
107
|
+
EXPECT_EQ(absl::FastTypeId<int_alias>(), absl::FastTypeId<int>());
|
|
104
108
|
}
|
|
105
109
|
|
|
106
110
|
TEST(FastTypeIdTest, TemplateSpecializations) {
|
|
107
|
-
EXPECT_NE(
|
|
108
|
-
|
|
111
|
+
EXPECT_NE(absl::FastTypeId<std::vector<int>>(),
|
|
112
|
+
absl::FastTypeId<std::vector<long>>()); // NOLINT(runtime/int)
|
|
109
113
|
|
|
110
|
-
EXPECT_NE((
|
|
111
|
-
(
|
|
114
|
+
EXPECT_NE((absl::FastTypeId<std::map<int, float>>()),
|
|
115
|
+
(absl::FastTypeId<std::map<int, double>>()));
|
|
112
116
|
}
|
|
113
117
|
|
|
114
118
|
struct Base {};
|
|
@@ -116,8 +120,8 @@ struct Derived : Base {};
|
|
|
116
120
|
struct PDerived : private Base {};
|
|
117
121
|
|
|
118
122
|
TEST(FastTypeIdTest, Inheritance) {
|
|
119
|
-
EXPECT_NE(
|
|
120
|
-
EXPECT_NE(
|
|
123
|
+
EXPECT_NE(absl::FastTypeId<Base>(), absl::FastTypeId<Derived>());
|
|
124
|
+
EXPECT_NE(absl::FastTypeId<Base>(), absl::FastTypeId<PDerived>());
|
|
121
125
|
}
|
|
122
126
|
|
|
123
127
|
} // namespace
|
|
@@ -35,11 +35,6 @@ namespace base_internal {
|
|
|
35
35
|
|
|
36
36
|
#if ABSL_USE_UNSCALED_CYCLECLOCK
|
|
37
37
|
|
|
38
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
|
39
|
-
constexpr int32_t CycleClock::kShift;
|
|
40
|
-
constexpr double CycleClock::kFrequencyScale;
|
|
41
|
-
#endif
|
|
42
|
-
|
|
43
38
|
ABSL_CONST_INIT std::atomic<CycleClockSourceFunc>
|
|
44
39
|
CycleClock::cycle_clock_source_{nullptr};
|
|
45
40
|
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
#include <cstdint>
|
|
19
19
|
|
|
20
20
|
#include "absl/base/config.h"
|
|
21
|
-
#include "absl/base/internal/inline_variable.h"
|
|
22
21
|
#include "absl/base/internal/unscaledcycleclock_config.h"
|
|
23
22
|
|
|
24
23
|
namespace absl {
|
|
@@ -31,22 +30,23 @@ namespace base_internal {
|
|
|
31
30
|
// Not debug mode and the UnscaledCycleClock frequency is the CPU
|
|
32
31
|
// frequency. Scale the CycleClock to prevent overflow if someone
|
|
33
32
|
// tries to represent the time as cycles since the Unix epoch.
|
|
34
|
-
|
|
33
|
+
inline constexpr int32_t kCycleClockShift = 1;
|
|
35
34
|
#else
|
|
36
35
|
// Not debug mode and the UnscaledCycleClock isn't operating at the
|
|
37
36
|
// raw CPU frequency. There is no need to do any scaling, so don't
|
|
38
37
|
// needlessly sacrifice precision.
|
|
39
|
-
|
|
38
|
+
inline constexpr int32_t kCycleClockShift = 0;
|
|
40
39
|
#endif
|
|
41
40
|
#else // NDEBUG
|
|
42
41
|
// In debug mode use a different shift to discourage depending on a
|
|
43
42
|
// particular shift value.
|
|
44
|
-
|
|
43
|
+
inline constexpr int32_t kCycleClockShift = 2;
|
|
45
44
|
#endif // NDEBUG
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
inline constexpr double kCycleClockFrequencyScale =
|
|
47
|
+
1.0 / (1 << kCycleClockShift);
|
|
48
|
+
|
|
49
|
+
#endif // ABSL_USE_UNSCALED_CYCLECLOCK
|
|
50
50
|
|
|
51
51
|
} // namespace base_internal
|
|
52
52
|
ABSL_NAMESPACE_END
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
//
|
|
15
|
+
// This file is for Abseil internal use only.
|
|
16
|
+
// See //absl/numeric/bits.h for supported functions related to endian-ness.
|
|
15
17
|
|
|
16
18
|
#ifndef ABSL_BASE_INTERNAL_ENDIAN_H_
|
|
17
19
|
#define ABSL_BASE_INTERNAL_ENDIAN_H_
|
|
@@ -28,44 +30,38 @@
|
|
|
28
30
|
namespace absl {
|
|
29
31
|
ABSL_NAMESPACE_BEGIN
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
constexpr uint64_t gbswap_64(uint64_t x) {
|
|
32
34
|
#if ABSL_HAVE_BUILTIN(__builtin_bswap64) || defined(__GNUC__)
|
|
33
|
-
return __builtin_bswap64(
|
|
34
|
-
#elif defined(_MSC_VER)
|
|
35
|
-
return _byteswap_uint64(host_int);
|
|
35
|
+
return __builtin_bswap64(x);
|
|
36
36
|
#else
|
|
37
|
-
return (((
|
|
38
|
-
((
|
|
39
|
-
((
|
|
40
|
-
((
|
|
41
|
-
((
|
|
42
|
-
((
|
|
43
|
-
((
|
|
44
|
-
((
|
|
37
|
+
return (((x & uint64_t{0xFF}) << 56) |
|
|
38
|
+
((x & uint64_t{0xFF00}) << 40) |
|
|
39
|
+
((x & uint64_t{0xFF0000}) << 24) |
|
|
40
|
+
((x & uint64_t{0xFF000000}) << 8) |
|
|
41
|
+
((x & uint64_t{0xFF00000000}) >> 8) |
|
|
42
|
+
((x & uint64_t{0xFF0000000000}) >> 24) |
|
|
43
|
+
((x & uint64_t{0xFF000000000000}) >> 40) |
|
|
44
|
+
((x & uint64_t{0xFF00000000000000}) >> 56));
|
|
45
45
|
#endif
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
constexpr uint32_t gbswap_32(uint32_t x) {
|
|
49
49
|
#if ABSL_HAVE_BUILTIN(__builtin_bswap32) || defined(__GNUC__)
|
|
50
|
-
return __builtin_bswap32(
|
|
51
|
-
#elif defined(_MSC_VER)
|
|
52
|
-
return _byteswap_ulong(host_int);
|
|
50
|
+
return __builtin_bswap32(x);
|
|
53
51
|
#else
|
|
54
|
-
return (((
|
|
55
|
-
((
|
|
56
|
-
((
|
|
57
|
-
((
|
|
52
|
+
return (((x & uint32_t{0xFF}) << 24) |
|
|
53
|
+
((x & uint32_t{0xFF00}) << 8) |
|
|
54
|
+
((x & uint32_t{0xFF0000}) >> 8) |
|
|
55
|
+
((x & uint32_t{0xFF000000}) >> 24));
|
|
58
56
|
#endif
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
|
|
59
|
+
constexpr uint16_t gbswap_16(uint16_t x) {
|
|
62
60
|
#if ABSL_HAVE_BUILTIN(__builtin_bswap16) || defined(__GNUC__)
|
|
63
|
-
return __builtin_bswap16(
|
|
64
|
-
#elif defined(_MSC_VER)
|
|
65
|
-
return _byteswap_ushort(host_int);
|
|
61
|
+
return __builtin_bswap16(x);
|
|
66
62
|
#else
|
|
67
|
-
return (((
|
|
68
|
-
((
|
|
63
|
+
return (((x & uint16_t{0xFF}) << 8) |
|
|
64
|
+
((x & uint16_t{0xFF00}) >> 8));
|
|
69
65
|
#endif
|
|
70
66
|
}
|
|
71
67
|
|
|
@@ -161,27 +157,27 @@ inline int64_t ToHost(int64_t x) {
|
|
|
161
157
|
}
|
|
162
158
|
|
|
163
159
|
// Functions to do unaligned loads and stores in little-endian order.
|
|
164
|
-
inline uint16_t Load16(
|
|
160
|
+
inline uint16_t Load16(const void* absl_nonnull p) {
|
|
165
161
|
return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
|
|
166
162
|
}
|
|
167
163
|
|
|
168
|
-
inline void Store16(
|
|
164
|
+
inline void Store16(void* absl_nonnull p, uint16_t v) {
|
|
169
165
|
ABSL_INTERNAL_UNALIGNED_STORE16(p, FromHost16(v));
|
|
170
166
|
}
|
|
171
167
|
|
|
172
|
-
inline uint32_t Load32(
|
|
168
|
+
inline uint32_t Load32(const void* absl_nonnull p) {
|
|
173
169
|
return ToHost32(ABSL_INTERNAL_UNALIGNED_LOAD32(p));
|
|
174
170
|
}
|
|
175
171
|
|
|
176
|
-
inline void Store32(
|
|
172
|
+
inline void Store32(void* absl_nonnull p, uint32_t v) {
|
|
177
173
|
ABSL_INTERNAL_UNALIGNED_STORE32(p, FromHost32(v));
|
|
178
174
|
}
|
|
179
175
|
|
|
180
|
-
inline uint64_t Load64(
|
|
176
|
+
inline uint64_t Load64(const void* absl_nonnull p) {
|
|
181
177
|
return ToHost64(ABSL_INTERNAL_UNALIGNED_LOAD64(p));
|
|
182
178
|
}
|
|
183
179
|
|
|
184
|
-
inline void Store64(
|
|
180
|
+
inline void Store64(void* absl_nonnull p, uint64_t v) {
|
|
185
181
|
ABSL_INTERNAL_UNALIGNED_STORE64(p, FromHost64(v));
|
|
186
182
|
}
|
|
187
183
|
|
|
@@ -251,27 +247,27 @@ inline int64_t ToHost(int64_t x) {
|
|
|
251
247
|
}
|
|
252
248
|
|
|
253
249
|
// Functions to do unaligned loads and stores in big-endian order.
|
|
254
|
-
inline uint16_t Load16(
|
|
250
|
+
inline uint16_t Load16(const void* absl_nonnull p) {
|
|
255
251
|
return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
|
|
256
252
|
}
|
|
257
253
|
|
|
258
|
-
inline void Store16(
|
|
254
|
+
inline void Store16(void* absl_nonnull p, uint16_t v) {
|
|
259
255
|
ABSL_INTERNAL_UNALIGNED_STORE16(p, FromHost16(v));
|
|
260
256
|
}
|
|
261
257
|
|
|
262
|
-
inline uint32_t Load32(
|
|
258
|
+
inline uint32_t Load32(const void* absl_nonnull p) {
|
|
263
259
|
return ToHost32(ABSL_INTERNAL_UNALIGNED_LOAD32(p));
|
|
264
260
|
}
|
|
265
261
|
|
|
266
|
-
inline void Store32(
|
|
262
|
+
inline void Store32(void* absl_nonnull p, uint32_t v) {
|
|
267
263
|
ABSL_INTERNAL_UNALIGNED_STORE32(p, FromHost32(v));
|
|
268
264
|
}
|
|
269
265
|
|
|
270
|
-
inline uint64_t Load64(
|
|
266
|
+
inline uint64_t Load64(const void* absl_nonnull p) {
|
|
271
267
|
return ToHost64(ABSL_INTERNAL_UNALIGNED_LOAD64(p));
|
|
272
268
|
}
|
|
273
269
|
|
|
274
|
-
inline void Store64(
|
|
270
|
+
inline void Store64(void* absl_nonnull p, uint64_t v) {
|
|
275
271
|
ABSL_INTERNAL_UNALIGNED_STORE64(p, FromHost64(v));
|
|
276
272
|
}
|
|
277
273
|
|