aboutsummaryrefslogtreecommitdiff
path: root/absl/container/node_hash_set.h
diff options
context:
space:
mode:
authorEvan Brown <ezb@google.com>2024-03-13 11:59:30 -0700
committerCopybara-Service <copybara-worker@google.com>2024-03-13 12:00:20 -0700
commitc6ed744ea531edf745b55c4e5679d7e435406c0d (patch)
tree22774d73af93958b296fd1634f2577329e9f7a92 /absl/container/node_hash_set.h
parente4b07ec1fc6885eca8a1d8d2439a6554b4a81378 (diff)
downloadabseil-c6ed744ea531edf745b55c4e5679d7e435406c0d.tar.gz
abseil-c6ed744ea531edf745b55c4e5679d7e435406c0d.tar.bz2
abseil-c6ed744ea531edf745b55c4e5679d7e435406c0d.zip
Roll back extern template instatiations in swisstable due to binary size increases in shared libraries.
PiperOrigin-RevId: 615497725 Change-Id: Ic29db8923ea4ea7cd0b01b396896fa9fff8c74b0
Diffstat (limited to 'absl/container/node_hash_set.h')
-rw-r--r--absl/container/node_hash_set.h30
1 files changed, 0 insertions, 30 deletions
diff --git a/absl/container/node_hash_set.h b/absl/container/node_hash_set.h
index 77b49f9b..8cc4b624 100644
--- a/absl/container/node_hash_set.h
+++ b/absl/container/node_hash_set.h
@@ -36,13 +36,9 @@
#define ABSL_CONTAINER_NODE_HASH_SET_H_
#include <cstddef>
-#include <cstdint>
-#include <memory>
-#include <string>
#include <type_traits>
#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
@@ -522,32 +518,6 @@ struct IsUnorderedContainer<absl::node_hash_set<Key, Hash, KeyEqual, Allocator>>
: std::true_type {};
} // namespace container_algorithm_internal
-
-// Explicit template instantiations for common set types in order to decrease
-// linker input size. Note that explicitly instantiating node_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.
-#define ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(TEMPLATE, KEY) \
- TEMPLATE class absl::container_internal::raw_hash_set< \
- absl::container_internal::NodeHashSetPolicy<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_NODE_HASH_SET(extern template, int8_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, int16_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, int32_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, int64_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, uint8_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, uint16_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, uint32_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, uint64_t);
-ABSL_INTERNAL_TEMPLATE_NODE_HASH_SET(extern template, std::string);
-
ABSL_NAMESPACE_END
} // namespace absl