diff options
Diffstat (limited to 'absl/container/flat_hash_set.h')
-rw-r--r-- | absl/container/flat_hash_set.h | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/absl/container/flat_hash_set.h b/absl/container/flat_hash_set.h index 88c7ab21..5f72f954 100644 --- a/absl/container/flat_hash_set.h +++ b/absl/container/flat_hash_set.h @@ -30,14 +30,11 @@ #define ABSL_CONTAINER_FLAT_HASH_SET_H_ #include <cstddef> -#include <cstdint> #include <memory> -#include <string> #include <type_traits> #include <utility> #include "absl/algorithm/container.h" -#include "absl/base/config.h" #include "absl/base/macros.h" #include "absl/container/internal/container_memory.h" #include "absl/container/internal/hash_function_defaults.h" // IWYU pragma: export @@ -526,32 +523,6 @@ struct IsUnorderedContainer<absl::flat_hash_set<Key, Hash, KeyEqual, Allocator>> } // namespace container_algorithm_internal -// Explicit template instantiations for common set types in order to decrease -// linker input size. Note that explicitly instantiating flat_hash_set itself -// doesn't help because it has no non-alias members. If we need to decrease -// linker input size more, we could potentially (a) add more key types, e.g. -// string_view/Cord, (b) instantiate some template member functions, e.g. -// find/insert/emplace. The EXTERN argument is `extern` for the declaration and -// empty for the definition. -#define ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(TEMPLATE, KEY) \ - TEMPLATE class absl::container_internal::raw_hash_set< \ - absl::container_internal::FlatHashSetPolicy<KEY>, \ - absl::container_internal::hash_default_hash<KEY>, \ - absl::container_internal::hash_default_eq<KEY>, std::allocator<KEY>>; - -// We use exact-width integer types rather than `int`/`long`/`long long` because -// these are the types recommended in the Google C++ style guide and which are -// commonly used in Google code. -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, int8_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, int16_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, int32_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, int64_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, uint8_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, uint16_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, uint32_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, uint64_t); -ABSL_INTERNAL_TEMPLATE_FLAT_HASH_SET(extern template, std::string); - ABSL_NAMESPACE_END } // namespace absl |