summaryrefslogtreecommitdiff
path: root/absl/container/internal/raw_hash_map.h
diff options
context:
space:
mode:
authorGravatar Corentin Le Molgat <corentinl@google.com>2018-10-17 13:41:31 +0200
committerGravatar Corentin Le Molgat <corentinl@google.com>2018-10-19 08:29:59 +0200
commit26da89db3e927572c117e446a338ee435a963bf1 (patch)
tree5129da9dc56e204a0ebb941f6cf3ace9164ae5bc /absl/container/internal/raw_hash_map.h
parent5b70a8910b2e6fb0ce5193a41873139a126d2f7f (diff)
Fix absl::container on VS2017 v15.8 (#192)
Diffstat (limited to 'absl/container/internal/raw_hash_map.h')
-rw-r--r--absl/container/internal/raw_hash_map.h7
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 1edc0071..05270ef3 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