[requires]
abseil/20240116.2
NoteSimplest use case consuming this recipe and assuming CMake as your local build tool:
If you are a new Conan user, we recommend reading the how to consume packages tutorial.If you need additional assistance, please ask a question in the Conan Center Index repository.
[requires]
abseil/20240116.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout
class ExampleRecipe(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeDeps", "CMakeToolchain"
def requirements(self):
self.requires("abseil/20240116.2")
def layout(self):
cmake_layout(self)
Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):
$ conan install conanfile.txt --build=missing
Useful information to take into account to consume this library:
These are the main declared targets:
absl
abseil::abseil
absl_any => absl::any
absl_log => absl::log
absl_base => absl::base
absl_bits => absl::bits
absl_city => absl::city
absl_cord => absl::cord
absl_hash => absl::hash
absl_meta => absl::meta
absl_span => absl::span
absl_time => absl::time
absl_btree => absl::btree
absl_check => absl::check
absl_flags => absl::flags
absl_config => absl::config
absl_crc32c => absl::crc32c
absl_endian => absl::endian
absl_int128 => absl::int128
absl_layout => absl::layout
absl_memory => absl::memory
absl_status => absl::status
absl_charset => absl::charset
absl_cleanup => absl::cleanup
absl_compare => absl::compare
absl_numeric => absl::numeric
absl_strings => absl::strings
absl_utility => absl::utility
absl_variant => absl::variant
absl_absl_log => absl::absl_log
absl_log_sink => absl::log_sink
absl_optional => absl::optional
absl_overload => absl::overload
absl_prefetch => absl::prefetch
absl_statusor => absl::statusor
absl_strerror => absl::strerror
absl_algorithm => absl::algorithm
absl_debugging => absl::debugging
absl_log_entry => absl::log_entry
absl_log_flags => absl::log_flags
absl_symbolize => absl::symbolize
absl_time_zone => absl::time_zone
absl_absl_check => absl::absl_check
absl_bind_front => absl::bind_front
absl_civil_time => absl::civil_time
absl_cordz_info => absl::cordz_info
absl_leak_check => absl::leak_check
absl_stacktrace => absl::stacktrace
absl_str_format => absl::str_format
absl_vlog_is_on => absl::vlog_is_on
absl_atomic_hook => absl::atomic_hook
absl_die_if_null => absl::die_if_null
absl_errno_saver => absl::errno_saver
absl_fixed_array => absl::fixed_array
absl_flags_parse => absl::flags_parse
absl_flags_usage => absl::flags_usage
absl_log_globals => absl::log_globals
absl_nullability => absl::nullability
absl_string_view => absl::string_view
absl_type_traits => absl::type_traits
absl_bad_any_cast => absl::bad_any_cast
absl_cordz_handle => absl::cordz_handle
absl_core_headers => absl::core_headers
absl_crc_internal => absl::crc_internal
absl_fast_type_id => absl::fast_type_id
absl_flags_config => absl::flags_config
absl_function_ref => absl::function_ref
absl_if_constexpr => absl::if_constexpr
absl_log_severity => absl::log_severity
absl_log_streamer => absl::log_streamer
absl_raw_hash_map => absl::raw_hash_map
absl_raw_hash_set => absl::raw_hash_set
absl_any_invocable => absl::any_invocable
absl_base_internal => absl::base_internal
absl_cord_internal => absl::cord_internal
absl_examine_stack => absl::examine_stack
absl_flat_hash_map => absl::flat_hash_map
absl_flat_hash_set => absl::flat_hash_set
absl_no_destructor => absl::no_destructor
absl_node_hash_map => absl::node_hash_map
absl_node_hash_set => absl::node_hash_set
absl_random_random => absl::random_random
absl_spinlock_wait => absl::spinlock_wait
absl_crc_cord_state => absl::crc_cord_state
absl_crc_cpu_detect => absl::crc_cpu_detect
absl_flags_internal => absl::flags_internal
absl_inlined_vector => absl::inlined_vector
absl_log_initialize => absl::log_initialize
absl_log_structured => absl::log_structured
absl_low_level_hash => absl::low_level_hash
absl_scoped_set_env => absl::scoped_set_env
absl_test_allocator => absl::test_allocator
absl_throw_delegate => absl::throw_delegate
absl_absl_vlog_is_on => absl::absl_vlog_is_on
absl_cordz_functions => absl::cordz_functions
absl_flags_path_util => absl::flags_path_util
absl_hashtable_debug => absl::hashtable_debug
absl_malloc_internal => absl::malloc_internal
absl_pretty_function => absl::pretty_function
absl_sample_recorder => absl::sample_recorder
absl_synchronization => absl::synchronization
absl_cleanup_internal => absl::cleanup_internal
absl_compressed_tuple => absl::compressed_tuple
absl_container_common => absl::container_common
absl_container_memory => absl::container_memory
absl_cordz_statistics => absl::cordz_statistics
absl_flags_reflection => absl::flags_reflection
absl_node_slot_policy => absl::node_slot_policy
absl_periodic_sampler => absl::periodic_sampler
absl_strings_internal => absl::strings_internal
absl_bad_any_cast_impl => absl::bad_any_cast_impl
absl_demangle_internal => absl::demangle_internal
absl_flags_marshalling => absl::flags_marshalling
absl_log_sink_registry => absl::log_sink_registry
absl_bad_variant_access => absl::bad_variant_access
absl_cordz_sample_token => absl::cordz_sample_token
absl_cordz_update_scope => absl::cordz_update_scope
absl_debugging_internal => absl::debugging_internal
absl_exponential_biased => absl::exponential_biased
absl_flags_program_name => absl::flags_program_name
absl_hash_policy_traits => absl::hash_policy_traits
absl_hashtablez_sampler => absl::hashtablez_sampler
absl_log_internal_flags => absl::log_internal_flags
absl_log_internal_proto => absl::log_internal_proto
absl_log_internal_strip => absl::log_internal_strip
absl_random_bit_gen_ref => absl::random_bit_gen_ref
absl_algorithm_container => absl::algorithm_container
absl_bad_optional_access => absl::bad_optional_access
absl_dynamic_annotations => absl::dynamic_annotations
absl_log_internal_config => absl::log_internal_config
absl_log_internal_format => absl::log_internal_format
absl_non_temporal_memcpy => absl::non_temporal_memcpy
absl_str_format_internal => absl::str_format_internal
absl_common_policy_traits => absl::common_policy_traits
absl_cordz_update_tracker => absl::cordz_update_tracker
absl_flags_usage_internal => absl::flags_usage_internal
absl_graphcycles_internal => absl::graphcycles_internal
absl_has_ostream_operator => absl::has_ostream_operator
absl_log_internal_fnmatch => absl::log_internal_fnmatch
absl_log_internal_globals => absl::log_internal_globals
absl_log_internal_message => absl::log_internal_message
absl_log_internal_voidify => absl::log_internal_voidify
absl_random_distributions => absl::random_distributions
absl_raw_logging_internal => absl::raw_logging_internal
absl_vlog_config_internal => absl::vlog_config_internal
absl_flags_commandlineflag => absl::flags_commandlineflag
absl_hashtable_debug_hooks => absl::hashtable_debug_hooks
absl_log_internal_check_op => absl::log_internal_check_op
absl_log_internal_log_impl => absl::log_internal_log_impl
absl_random_seed_sequences => absl::random_seed_sequences
absl_failure_signal_handler => absl::failure_signal_handler
absl_hash_function_defaults => absl::hash_function_defaults
absl_log_internal_nullguard => absl::log_internal_nullguard
absl_numeric_representation => absl::numeric_representation
absl_random_internal_randen => absl::random_internal_randen
absl_random_internal_traits => absl::random_internal_traits
absl_inlined_vector_internal => absl::inlined_vector_internal
absl_kernel_timeout_internal => absl::kernel_timeout_internal
absl_log_internal_check_impl => absl::log_internal_check_impl
absl_log_internal_conditions => absl::log_internal_conditions
absl_log_internal_nullstream => absl::log_internal_nullstream
absl_log_internal_structured => absl::log_internal_structured
absl_random_internal_fastmath => absl::random_internal_fastmath
absl_random_internal_platform => absl::random_internal_platform
absl_log_internal_log_sink_set => absl::log_internal_log_sink_set
absl_random_internal_pool_urbg => absl::random_internal_pool_urbg
absl_random_seed_gen_exception => absl::random_seed_gen_exception
absl_random_internal_pcg_engine => absl::random_internal_pcg_engine
absl_non_temporal_arm_intrinsics => absl::non_temporal_arm_intrinsics
absl_random_internal_randen_slow => absl::random_internal_randen_slow
absl_random_internal_mock_helpers => absl::random_internal_mock_helpers
absl_random_internal_randen_hwaes => absl::random_internal_randen_hwaes
absl_flags_private_handle_accessor => absl::flags_private_handle_accessor
absl_log_internal_append_truncated => absl::log_internal_append_truncated
absl_random_internal_generate_real => absl::random_internal_generate_real
absl_random_internal_randen_engine => absl::random_internal_randen_engine
absl_random_internal_seed_material => absl::random_internal_seed_material
absl_random_internal_wide_multiply => absl::random_internal_wide_multiply
absl_flags_commandlineflag_internal => absl::flags_commandlineflag_internal
absl_random_internal_nonsecure_base => absl::random_internal_nonsecure_base
absl_random_internal_uniform_helper => absl::random_internal_uniform_helper
absl_random_internal_salted_seed_seq => absl::random_internal_salted_seed_seq
absl_random_internal_fast_uniform_bits => absl::random_internal_fast_uniform_bits
absl_random_internal_randen_hwaes_impl => absl::random_internal_randen_hwaes_impl
absl_random_internal_distribution_caller => absl::random_internal_distribution_caller
absl_random_internal_iostream_state_saver => absl::random_internal_iostream_state_saver
absl_random_internal_distribution_test_util => absl::random_internal_distribution_test_util
abseil.pc
absl_any => absl_any.pc
absl_log => absl_log.pc
absl_base => absl_base.pc
absl_bits => absl_bits.pc
absl_city => absl_city.pc
absl_cord => absl_cord.pc
absl_hash => absl_hash.pc
absl_meta => absl_meta.pc
absl_span => absl_span.pc
absl_time => absl_time.pc
absl_btree => absl_btree.pc
absl_check => absl_check.pc
absl_flags => absl_flags.pc
absl_config => absl_config.pc
absl_crc32c => absl_crc32c.pc
absl_endian => absl_endian.pc
absl_int128 => absl_int128.pc
absl_layout => absl_layout.pc
absl_memory => absl_memory.pc
absl_status => absl_status.pc
absl_charset => absl_charset.pc
absl_cleanup => absl_cleanup.pc
absl_compare => absl_compare.pc
absl_numeric => absl_numeric.pc
absl_strings => absl_strings.pc
absl_utility => absl_utility.pc
absl_variant => absl_variant.pc
absl_absl_log => absl_absl_log.pc
absl_log_sink => absl_log_sink.pc
absl_optional => absl_optional.pc
absl_overload => absl_overload.pc
absl_prefetch => absl_prefetch.pc
absl_statusor => absl_statusor.pc
absl_strerror => absl_strerror.pc
absl_algorithm => absl_algorithm.pc
absl_debugging => absl_debugging.pc
absl_log_entry => absl_log_entry.pc
absl_log_flags => absl_log_flags.pc
absl_symbolize => absl_symbolize.pc
absl_time_zone => absl_time_zone.pc
absl_absl_check => absl_absl_check.pc
absl_bind_front => absl_bind_front.pc
absl_civil_time => absl_civil_time.pc
absl_cordz_info => absl_cordz_info.pc
absl_leak_check => absl_leak_check.pc
absl_stacktrace => absl_stacktrace.pc
absl_str_format => absl_str_format.pc
absl_vlog_is_on => absl_vlog_is_on.pc
absl_atomic_hook => absl_atomic_hook.pc
absl_die_if_null => absl_die_if_null.pc
absl_errno_saver => absl_errno_saver.pc
absl_fixed_array => absl_fixed_array.pc
absl_flags_parse => absl_flags_parse.pc
absl_flags_usage => absl_flags_usage.pc
absl_log_globals => absl_log_globals.pc
absl_nullability => absl_nullability.pc
absl_string_view => absl_string_view.pc
absl_type_traits => absl_type_traits.pc
absl_bad_any_cast => absl_bad_any_cast.pc
absl_cordz_handle => absl_cordz_handle.pc
absl_core_headers => absl_core_headers.pc
absl_crc_internal => absl_crc_internal.pc
absl_fast_type_id => absl_fast_type_id.pc
absl_flags_config => absl_flags_config.pc
absl_function_ref => absl_function_ref.pc
absl_if_constexpr => absl_if_constexpr.pc
absl_log_severity => absl_log_severity.pc
absl_log_streamer => absl_log_streamer.pc
absl_raw_hash_map => absl_raw_hash_map.pc
absl_raw_hash_set => absl_raw_hash_set.pc
absl_any_invocable => absl_any_invocable.pc
absl_base_internal => absl_base_internal.pc
absl_cord_internal => absl_cord_internal.pc
absl_examine_stack => absl_examine_stack.pc
absl_flat_hash_map => absl_flat_hash_map.pc
absl_flat_hash_set => absl_flat_hash_set.pc
absl_no_destructor => absl_no_destructor.pc
absl_node_hash_map => absl_node_hash_map.pc
absl_node_hash_set => absl_node_hash_set.pc
absl_random_random => absl_random_random.pc
absl_spinlock_wait => absl_spinlock_wait.pc
absl_crc_cord_state => absl_crc_cord_state.pc
absl_crc_cpu_detect => absl_crc_cpu_detect.pc
absl_flags_internal => absl_flags_internal.pc
absl_inlined_vector => absl_inlined_vector.pc
absl_log_initialize => absl_log_initialize.pc
absl_log_structured => absl_log_structured.pc
absl_low_level_hash => absl_low_level_hash.pc
absl_scoped_set_env => absl_scoped_set_env.pc
absl_test_allocator => absl_test_allocator.pc
absl_throw_delegate => absl_throw_delegate.pc
absl_absl_vlog_is_on => absl_absl_vlog_is_on.pc
absl_cordz_functions => absl_cordz_functions.pc
absl_flags_path_util => absl_flags_path_util.pc
absl_hashtable_debug => absl_hashtable_debug.pc
absl_malloc_internal => absl_malloc_internal.pc
absl_pretty_function => absl_pretty_function.pc
absl_sample_recorder => absl_sample_recorder.pc
absl_synchronization => absl_synchronization.pc
absl_cleanup_internal => absl_cleanup_internal.pc
absl_compressed_tuple => absl_compressed_tuple.pc
absl_container_common => absl_container_common.pc
absl_container_memory => absl_container_memory.pc
absl_cordz_statistics => absl_cordz_statistics.pc
absl_flags_reflection => absl_flags_reflection.pc
absl_node_slot_policy => absl_node_slot_policy.pc
absl_periodic_sampler => absl_periodic_sampler.pc
absl_strings_internal => absl_strings_internal.pc
absl_bad_any_cast_impl => absl_bad_any_cast_impl.pc
absl_demangle_internal => absl_demangle_internal.pc
absl_flags_marshalling => absl_flags_marshalling.pc
absl_log_sink_registry => absl_log_sink_registry.pc
absl_bad_variant_access => absl_bad_variant_access.pc
absl_cordz_sample_token => absl_cordz_sample_token.pc
absl_cordz_update_scope => absl_cordz_update_scope.pc
absl_debugging_internal => absl_debugging_internal.pc
absl_exponential_biased => absl_exponential_biased.pc
absl_flags_program_name => absl_flags_program_name.pc
absl_hash_policy_traits => absl_hash_policy_traits.pc
absl_hashtablez_sampler => absl_hashtablez_sampler.pc
absl_log_internal_flags => absl_log_internal_flags.pc
absl_log_internal_proto => absl_log_internal_proto.pc
absl_log_internal_strip => absl_log_internal_strip.pc
absl_random_bit_gen_ref => absl_random_bit_gen_ref.pc
absl_algorithm_container => absl_algorithm_container.pc
absl_bad_optional_access => absl_bad_optional_access.pc
absl_dynamic_annotations => absl_dynamic_annotations.pc
absl_log_internal_config => absl_log_internal_config.pc
absl_log_internal_format => absl_log_internal_format.pc
absl_non_temporal_memcpy => absl_non_temporal_memcpy.pc
absl_str_format_internal => absl_str_format_internal.pc
absl_common_policy_traits => absl_common_policy_traits.pc
absl_cordz_update_tracker => absl_cordz_update_tracker.pc
absl_flags_usage_internal => absl_flags_usage_internal.pc
absl_graphcycles_internal => absl_graphcycles_internal.pc
absl_has_ostream_operator => absl_has_ostream_operator.pc
absl_log_internal_fnmatch => absl_log_internal_fnmatch.pc
absl_log_internal_globals => absl_log_internal_globals.pc
absl_log_internal_message => absl_log_internal_message.pc
absl_log_internal_voidify => absl_log_internal_voidify.pc
absl_random_distributions => absl_random_distributions.pc
absl_raw_logging_internal => absl_raw_logging_internal.pc
absl_vlog_config_internal => absl_vlog_config_internal.pc
absl_flags_commandlineflag => absl_flags_commandlineflag.pc
absl_hashtable_debug_hooks => absl_hashtable_debug_hooks.pc
absl_log_internal_check_op => absl_log_internal_check_op.pc
absl_log_internal_log_impl => absl_log_internal_log_impl.pc
absl_random_seed_sequences => absl_random_seed_sequences.pc
absl_failure_signal_handler => absl_failure_signal_handler.pc
absl_hash_function_defaults => absl_hash_function_defaults.pc
absl_log_internal_nullguard => absl_log_internal_nullguard.pc
absl_numeric_representation => absl_numeric_representation.pc
absl_random_internal_randen => absl_random_internal_randen.pc
absl_random_internal_traits => absl_random_internal_traits.pc
absl_inlined_vector_internal => absl_inlined_vector_internal.pc
absl_kernel_timeout_internal => absl_kernel_timeout_internal.pc
absl_log_internal_check_impl => absl_log_internal_check_impl.pc
absl_log_internal_conditions => absl_log_internal_conditions.pc
absl_log_internal_nullstream => absl_log_internal_nullstream.pc
absl_log_internal_structured => absl_log_internal_structured.pc
absl_random_internal_fastmath => absl_random_internal_fastmath.pc
absl_random_internal_platform => absl_random_internal_platform.pc
absl_log_internal_log_sink_set => absl_log_internal_log_sink_set.pc
absl_random_internal_pool_urbg => absl_random_internal_pool_urbg.pc
absl_random_seed_gen_exception => absl_random_seed_gen_exception.pc
absl_random_internal_pcg_engine => absl_random_internal_pcg_engine.pc
absl_non_temporal_arm_intrinsics => absl_non_temporal_arm_intrinsics.pc
absl_random_internal_randen_slow => absl_random_internal_randen_slow.pc
absl_random_internal_mock_helpers => absl_random_internal_mock_helpers.pc
absl_random_internal_randen_hwaes => absl_random_internal_randen_hwaes.pc
absl_flags_private_handle_accessor => absl_flags_private_handle_accessor.pc
absl_log_internal_append_truncated => absl_log_internal_append_truncated.pc
absl_random_internal_generate_real => absl_random_internal_generate_real.pc
absl_random_internal_randen_engine => absl_random_internal_randen_engine.pc
absl_random_internal_seed_material => absl_random_internal_seed_material.pc
absl_random_internal_wide_multiply => absl_random_internal_wide_multiply.pc
absl_flags_commandlineflag_internal => absl_flags_commandlineflag_internal.pc
absl_random_internal_nonsecure_base => absl_random_internal_nonsecure_base.pc
absl_random_internal_uniform_helper => absl_random_internal_uniform_helper.pc
absl_random_internal_salted_seed_seq => absl_random_internal_salted_seed_seq.pc
absl_random_internal_fast_uniform_bits => absl_random_internal_fast_uniform_bits.pc
absl_random_internal_randen_hwaes_impl => absl_random_internal_randen_hwaes_impl.pc
absl_random_internal_distribution_caller => absl_random_internal_distribution_caller.pc
absl_random_internal_iostream_state_saver => absl_random_internal_iostream_state_saver.pc
absl_random_internal_distribution_test_util => absl_random_internal_distribution_test_util.pc
A simple use case using the CMake file name and the global target:
# ...
find_package(absl REQUIRED)
# ...
target_link_libraries(YOUR_TARGET abseil::abseil)
These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the abseil
homepage listed above:
#include "absl/algorithm/algorithm.h"
#include "absl/algorithm/container.h"
#include "absl/base/attributes.h"
#include "absl/base/call_once.h"
#include "absl/base/casts.h"
#include "absl/base/config.h"
#include "absl/base/const_init.h"
#include "absl/base/dynamic_annotations.h"
#include "absl/base/internal/atomic_hook.h"
#include "absl/base/internal/atomic_hook_test_helper.h"
#include "absl/base/internal/cycleclock.h"
#include "absl/base/internal/cycleclock_config.h"
#include "absl/base/internal/direct_mmap.h"
#include "absl/base/internal/dynamic_annotations.h"
#include "absl/base/internal/endian.h"
#include "absl/base/internal/errno_saver.h"
#include "absl/base/internal/exception_safety_testing.h"
#include "absl/base/internal/exception_testing.h"
#include "absl/base/internal/fast_type_id.h"
#include "absl/base/internal/hide_ptr.h"
#include "absl/base/internal/identity.h"
#include "absl/base/internal/inline_variable.h"
#include "absl/base/internal/inline_variable_testing.h"
#include "absl/base/internal/invoke.h"
#include "absl/base/internal/low_level_alloc.h"
#include "absl/base/internal/low_level_scheduling.h"
#include "absl/base/internal/nullability_impl.h"
#include "absl/base/internal/per_thread_tls.h"
#include "absl/base/internal/pretty_function.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/internal/scheduling_mode.h"
#include "absl/base/internal/scoped_set_env.h"
#include "absl/base/internal/spinlock.h"
#include "absl/base/internal/spinlock_akaros.inc"
#include "absl/base/internal/spinlock_linux.inc"
#include "absl/base/internal/spinlock_posix.inc"
#include "absl/base/internal/spinlock_wait.h"
#include "absl/base/internal/spinlock_win32.inc"
#include "absl/base/internal/strerror.h"
#include "absl/base/internal/sysinfo.h"
#include "absl/base/internal/thread_identity.h"
#include "absl/base/internal/throw_delegate.h"
#include "absl/base/internal/tsan_mutex_interface.h"
#include "absl/base/internal/unaligned_access.h"
#include "absl/base/internal/unscaledcycleclock.h"
#include "absl/base/internal/unscaledcycleclock_config.h"
#include "absl/base/log_severity.h"
#include "absl/base/macros.h"
#include "absl/base/no_destructor.h"
#include "absl/base/nullability.h"
#include "absl/base/optimization.h"
#include "absl/base/options.h"
#include "absl/base/policy_checks.h"
#include "absl/base/port.h"
#include "absl/base/prefetch.h"
#include "absl/base/thread_annotations.h"
#include "absl/cleanup/cleanup.h"
#include "absl/cleanup/internal/cleanup.h"
#include "absl/container/btree_map.h"
#include "absl/container/btree_set.h"
#include "absl/container/btree_test.h"
#include "absl/container/fixed_array.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "absl/container/inlined_vector.h"
#include "absl/container/internal/btree.h"
#include "absl/container/internal/btree_container.h"
#include "absl/container/internal/common.h"
#include "absl/container/internal/common_policy_traits.h"
#include "absl/container/internal/compressed_tuple.h"
#include "absl/container/internal/container_memory.h"
#include "absl/container/internal/hash_function_defaults.h"
#include "absl/container/internal/hash_generator_testing.h"
#include "absl/container/internal/hash_policy_testing.h"
#include "absl/container/internal/hash_policy_traits.h"
#include "absl/container/internal/hashtable_debug.h"
#include "absl/container/internal/hashtable_debug_hooks.h"
#include "absl/container/internal/hashtablez_sampler.h"
#include "absl/container/internal/inlined_vector.h"
#include "absl/container/internal/layout.h"
#include "absl/container/internal/node_slot_policy.h"
#include "absl/container/internal/raw_hash_map.h"
#include "absl/container/internal/raw_hash_set.h"
#include "absl/container/internal/test_allocator.h"
#include "absl/container/internal/test_instance_tracker.h"
#include "absl/container/internal/tracked.h"
#include "absl/container/internal/unordered_map_constructor_test.h"
#include "absl/container/internal/unordered_map_lookup_test.h"
#include "absl/container/internal/unordered_map_members_test.h"
#include "absl/container/internal/unordered_map_modifiers_test.h"
#include "absl/container/internal/unordered_set_constructor_test.h"
#include "absl/container/internal/unordered_set_lookup_test.h"
#include "absl/container/internal/unordered_set_members_test.h"
#include "absl/container/internal/unordered_set_modifiers_test.h"
#include "absl/container/node_hash_map.h"
#include "absl/container/node_hash_set.h"
#include "absl/crc/crc32c.h"
#include "absl/crc/internal/cpu_detect.h"
#include "absl/crc/internal/crc.h"
#include "absl/crc/internal/crc32_x86_arm_combined_simd.h"
#include "absl/crc/internal/crc32c.h"
#include "absl/crc/internal/crc32c_inline.h"
#include "absl/crc/internal/crc_cord_state.h"
#include "absl/crc/internal/crc_internal.h"
#include "absl/crc/internal/crc_memcpy.h"
#include "absl/crc/internal/non_temporal_arm_intrinsics.h"
#include "absl/crc/internal/non_temporal_memcpy.h"
#include "absl/debugging/failure_signal_handler.h"
#include "absl/debugging/internal/address_is_readable.h"
#include "absl/debugging/internal/demangle.h"
#include "absl/debugging/internal/elf_mem_image.h"
#include "absl/debugging/internal/examine_stack.h"
#include "absl/debugging/internal/stack_consumption.h"
#include "absl/debugging/internal/stacktrace_aarch64-inl.inc"
#include "absl/debugging/internal/stacktrace_arm-inl.inc"
#include "absl/debugging/internal/stacktrace_config.h"
#include "absl/debugging/internal/stacktrace_emscripten-inl.inc"
#include "absl/debugging/internal/stacktrace_generic-inl.inc"
#include "absl/debugging/internal/stacktrace_powerpc-inl.inc"
#include "absl/debugging/internal/stacktrace_riscv-inl.inc"
#include "absl/debugging/internal/stacktrace_unimplemented-inl.inc"
#include "absl/debugging/internal/stacktrace_win32-inl.inc"
#include "absl/debugging/internal/stacktrace_x86-inl.inc"
#include "absl/debugging/internal/symbolize.h"
#include "absl/debugging/internal/vdso_support.h"
#include "absl/debugging/leak_check.h"
#include "absl/debugging/stacktrace.h"
#include "absl/debugging/symbolize.h"
#include "absl/debugging/symbolize_darwin.inc"
#include "absl/debugging/symbolize_elf.inc"
#include "absl/debugging/symbolize_emscripten.inc"
#include "absl/debugging/symbolize_unimplemented.inc"
#include "absl/debugging/symbolize_win32.inc"
#include "absl/flags/commandlineflag.h"
#include "absl/flags/config.h"
#include "absl/flags/declare.h"
#include "absl/flags/flag.h"
#include "absl/flags/internal/commandlineflag.h"
#include "absl/flags/internal/flag.h"
#include "absl/flags/internal/parse.h"
#include "absl/flags/internal/path_util.h"
#include "absl/flags/internal/private_handle_accessor.h"
#include "absl/flags/internal/program_name.h"
#include "absl/flags/internal/registry.h"
#include "absl/flags/internal/sequence_lock.h"
#include "absl/flags/internal/usage.h"
#include "absl/flags/marshalling.h"
#include "absl/flags/parse.h"
#include "absl/flags/reflection.h"
#include "absl/flags/usage.h"
#include "absl/flags/usage_config.h"
#include "absl/functional/any_invocable.h"
#include "absl/functional/bind_front.h"
#include "absl/functional/function_ref.h"
#include "absl/functional/internal/any_invocable.h"
#include "absl/functional/internal/front_binder.h"
#include "absl/functional/internal/function_ref.h"
#include "absl/functional/overload.h"
#include "absl/hash/hash.h"
#include "absl/hash/hash_testing.h"
#include "absl/hash/internal/city.h"
#include "absl/hash/internal/hash.h"
#include "absl/hash/internal/hash_test.h"
#include "absl/hash/internal/low_level_hash.h"
#include "absl/hash/internal/spy_hash_state.h"
#include "absl/log/absl_check.h"
#include "absl/log/absl_log.h"
#include "absl/log/absl_vlog_is_on.h"
#include "absl/log/check.h"
#include "absl/log/check_test_impl.inc"
#include "absl/log/die_if_null.h"
#include "absl/log/flags.h"
#include "absl/log/globals.h"
#include "absl/log/initialize.h"
#include "absl/log/internal/append_truncated.h"
#include "absl/log/internal/check_impl.h"
#include "absl/log/internal/check_op.h"
#include "absl/log/internal/conditions.h"
#include "absl/log/internal/config.h"
#include "absl/log/internal/flags.h"
#include "absl/log/internal/fnmatch.h"
#include "absl/log/internal/globals.h"
#include "absl/log/internal/log_format.h"
#include "absl/log/internal/log_impl.h"
#include "absl/log/internal/log_message.h"
#include "absl/log/internal/log_sink_set.h"
#include "absl/log/internal/nullguard.h"
#include "absl/log/internal/nullstream.h"
#include "absl/log/internal/proto.h"
#include "absl/log/internal/strip.h"
#include "absl/log/internal/structured.h"
#include "absl/log/internal/test_actions.h"
#include "absl/log/internal/test_helpers.h"
#include "absl/log/internal/test_matchers.h"
#include "absl/log/internal/vlog_config.h"
#include "absl/log/internal/voidify.h"
#include "absl/log/log.h"
#include "absl/log/log_basic_test_impl.inc"
#include "absl/log/log_entry.h"
#include "absl/log/log_sink.h"
#include "absl/log/log_sink_registry.h"
#include "absl/log/log_streamer.h"
#include "absl/log/scoped_mock_log.h"
#include "absl/log/structured.h"
#include "absl/log/vlog_is_on.h"
#include "absl/memory/memory.h"
#include "absl/meta/type_traits.h"
#include "absl/numeric/bits.h"
#include "absl/numeric/int128.h"
#include "absl/numeric/int128_have_intrinsic.inc"
#include "absl/numeric/int128_no_intrinsic.inc"
#include "absl/numeric/internal/bits.h"
#include "absl/numeric/internal/representation.h"
#include "absl/profiling/internal/exponential_biased.h"
#include "absl/profiling/internal/periodic_sampler.h"
#include "absl/profiling/internal/sample_recorder.h"
#include "absl/random/bernoulli_distribution.h"
#include "absl/random/beta_distribution.h"
#include "absl/random/bit_gen_ref.h"
#include "absl/random/discrete_distribution.h"
#include "absl/random/distributions.h"
#include "absl/random/exponential_distribution.h"
#include "absl/random/gaussian_distribution.h"
#include "absl/random/internal/chi_square.h"
#include "absl/random/internal/distribution_caller.h"
#include "absl/random/internal/distribution_test_util.h"
#include "absl/random/internal/explicit_seed_seq.h"
#include "absl/random/internal/fast_uniform_bits.h"
#include "absl/random/internal/fastmath.h"
#include "absl/random/internal/generate_real.h"
#include "absl/random/internal/iostream_state_saver.h"
#include "absl/random/internal/mock_helpers.h"
#include "absl/random/internal/mock_overload_set.h"
#include "absl/random/internal/nanobenchmark.h"
#include "absl/random/internal/nonsecure_base.h"
#include "absl/random/internal/pcg_engine.h"
#include "absl/random/internal/platform.h"
#include "absl/random/internal/pool_urbg.h"
#include "absl/random/internal/randen.h"
#include "absl/random/internal/randen_detect.h"
#include "absl/random/internal/randen_engine.h"
#include "absl/random/internal/randen_hwaes.h"
#include "absl/random/internal/randen_slow.h"
#include "absl/random/internal/randen_traits.h"
#include "absl/random/internal/salted_seed_seq.h"
#include "absl/random/internal/seed_material.h"
#include "absl/random/internal/sequence_urbg.h"
#include "absl/random/internal/traits.h"
#include "absl/random/internal/uniform_helper.h"
#include "absl/random/internal/wide_multiply.h"
#include "absl/random/log_uniform_int_distribution.h"
#include "absl/random/mock_distributions.h"
#include "absl/random/mocking_bit_gen.h"
#include "absl/random/poisson_distribution.h"
#include "absl/random/random.h"
#include "absl/random/seed_gen_exception.h"
#include "absl/random/seed_sequences.h"
#include "absl/random/uniform_int_distribution.h"
#include "absl/random/uniform_real_distribution.h"
#include "absl/random/zipf_distribution.h"
#include "absl/status/internal/status_internal.h"
#include "absl/status/internal/statusor_internal.h"
#include "absl/status/status.h"
#include "absl/status/status_payload_printer.h"
#include "absl/status/statusor.h"
#include "absl/strings/ascii.h"
#include "absl/strings/charconv.h"
#include "absl/strings/charset.h"
#include "absl/strings/cord.h"
#include "absl/strings/cord_analysis.h"
#include "absl/strings/cord_buffer.h"
#include "absl/strings/cord_test_helpers.h"
#include "absl/strings/cordz_test_helpers.h"
#include "absl/strings/escaping.h"
#include "absl/strings/has_absl_stringify.h"
#include "absl/strings/has_ostream_operator.h"
#include "absl/strings/internal/charconv_bigint.h"
#include "absl/strings/internal/charconv_parse.h"
#include "absl/strings/internal/cord_data_edge.h"
#include "absl/strings/internal/cord_internal.h"
#include "absl/strings/internal/cord_rep_btree.h"
#include "absl/strings/internal/cord_rep_btree_navigator.h"
#include "absl/strings/internal/cord_rep_btree_reader.h"
#include "absl/strings/internal/cord_rep_consume.h"
#include "absl/strings/internal/cord_rep_crc.h"
#include "absl/strings/internal/cord_rep_flat.h"
#include "absl/strings/internal/cord_rep_test_util.h"
#include "absl/strings/internal/cordz_functions.h"
#include "absl/strings/internal/cordz_handle.h"
#include "absl/strings/internal/cordz_info.h"
#include "absl/strings/internal/cordz_sample_token.h"
#include "absl/strings/internal/cordz_statistics.h"
#include "absl/strings/internal/cordz_update_scope.h"
#include "absl/strings/internal/cordz_update_tracker.h"
#include "absl/strings/internal/damerau_levenshtein_distance.h"
#include "absl/strings/internal/escaping.h"
#include "absl/strings/internal/escaping_test_common.h"
#include "absl/strings/internal/has_absl_stringify.h"
#include "absl/strings/internal/memutil.h"
#include "absl/strings/internal/numbers_test_common.h"
#include "absl/strings/internal/ostringstream.h"
#include "absl/strings/internal/pow10_helper.h"
#include "absl/strings/internal/resize_uninitialized.h"
#include "absl/strings/internal/stl_type_traits.h"
#include "absl/strings/internal/str_format/arg.h"
#include "absl/strings/internal/str_format/bind.h"
#include "absl/strings/internal/str_format/checker.h"
#include "absl/strings/internal/str_format/constexpr_parser.h"
#include "absl/strings/internal/str_format/extension.h"
#include "absl/strings/internal/str_format/float_conversion.h"
#include "absl/strings/internal/str_format/output.h"
#include "absl/strings/internal/str_format/parser.h"
#include "absl/strings/internal/str_join_internal.h"
#include "absl/strings/internal/str_split_internal.h"
#include "absl/strings/internal/string_constant.h"
#include "absl/strings/internal/stringify_sink.h"
#include "absl/strings/internal/utf8.h"
#include "absl/strings/match.h"
#include "absl/strings/numbers.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "absl/strings/str_replace.h"
#include "absl/strings/str_split.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/strings/substitute.h"
#include "absl/synchronization/barrier.h"
#include "absl/synchronization/blocking_counter.h"
#include "absl/synchronization/internal/create_thread_identity.h"
#include "absl/synchronization/internal/futex.h"
#include "absl/synchronization/internal/futex_waiter.h"
#include "absl/synchronization/internal/graphcycles.h"
#include "absl/synchronization/internal/kernel_timeout.h"
#include "absl/synchronization/internal/per_thread_sem.h"
#include "absl/synchronization/internal/pthread_waiter.h"
#include "absl/synchronization/internal/sem_waiter.h"
#include "absl/synchronization/internal/stdcpp_waiter.h"
#include "absl/synchronization/internal/thread_pool.h"
#include "absl/synchronization/internal/waiter.h"
#include "absl/synchronization/internal/waiter_base.h"
#include "absl/synchronization/internal/win32_waiter.h"
#include "absl/synchronization/mutex.h"
#include "absl/synchronization/notification.h"
#include "absl/time/civil_time.h"
#include "absl/time/clock.h"
#include "absl/time/internal/cctz/include/cctz/civil_time.h"
#include "absl/time/internal/cctz/include/cctz/civil_time_detail.h"
#include "absl/time/internal/cctz/include/cctz/time_zone.h"
#include "absl/time/internal/cctz/include/cctz/zone_info_source.h"
#include "absl/time/internal/cctz/src/time_zone_fixed.h"
#include "absl/time/internal/cctz/src/time_zone_if.h"
#include "absl/time/internal/cctz/src/time_zone_impl.h"
#include "absl/time/internal/cctz/src/time_zone_info.h"
#include "absl/time/internal/cctz/src/time_zone_libc.h"
#include "absl/time/internal/cctz/src/time_zone_posix.h"
#include "absl/time/internal/cctz/src/tzfile.h"
#include "absl/time/internal/get_current_time_chrono.inc"
#include "absl/time/internal/get_current_time_posix.inc"
#include "absl/time/internal/test_util.h"
#include "absl/time/time.h"
#include "absl/types/any.h"
#include "absl/types/bad_any_cast.h"
#include "absl/types/bad_optional_access.h"
#include "absl/types/bad_variant_access.h"
#include "absl/types/compare.h"
#include "absl/types/internal/optional.h"
#include "absl/types/internal/span.h"
#include "absl/types/internal/variant.h"
#include "absl/types/optional.h"
#include "absl/types/span.h"
#include "absl/types/variant.h"
#include "absl/utility/internal/if_constexpr.h"
#include "absl/utility/utility.h"