diff options
-rw-r--r-- | absl/container/internal/raw_hash_map.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/absl/container/internal/raw_hash_map.h b/absl/container/internal/raw_hash_map.h index 1edc0071e7de..05270ef34c6e 100644 --- a/absl/container/internal/raw_hash_map.h +++ b/absl/container/internal/raw_hash_map.h @@ -39,11 +39,14 @@ class raw_hash_map : public raw_hash_set<Policy, Hash, Eq, Alloc> { using MappedConstReference = decltype(P::value( std::addressof(std::declval<typename raw_hash_map::const_reference>()))); + using KeyArgImpl = container_internal::KeyArg<IsTransparent<Eq>::value && + IsTransparent<Hash>::value>; + public: using key_type = typename Policy::key_type; using mapped_type = typename Policy::mapped_type; - template <typename K> - using key_arg = typename raw_hash_map::raw_hash_set::template key_arg<K>; + template <class K> + using key_arg = typename KeyArgImpl::template type<K, key_type>; static_assert(!std::is_reference<key_type>::value, ""); // TODO(alkis): remove this assertion and verify that reference mapped_type is |