Commit 826aa0ce authored by Bartek Nowierski's avatar Bartek Nowierski Committed by Commit Bot

ValuePeekInType should use Traits from template params

Change-Id: Iff85302bb633d9166139bde65a9b627eec13c4d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2139951Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarOmer Katz <omerkatz@chromium.org>
Commit-Queue: Bartek Nowierski <bartekn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#757725}
parent 8c9f7784
......@@ -55,7 +55,7 @@ class LinkedHashSetConstIterator;
template <typename LinkedHashSet>
class LinkedHashSetConstReverseIterator;
template <typename Value, typename HashFunctions>
template <typename Value, typename HashFunctions, typename TraitsArg>
struct LinkedHashSetTranslator;
template <typename Value>
struct LinkedHashSetExtractor;
......@@ -216,7 +216,8 @@ class LinkedHashSet {
typedef TraitsArg Traits;
typedef LinkedHashSetNode<Value> Node;
typedef LinkedHashSetNodeBase NodeBase;
typedef LinkedHashSetTranslator<Value, HashFunctions> NodeHashFunctions;
typedef LinkedHashSetTranslator<Value, HashFunctions, Traits>
NodeHashFunctions;
typedef LinkedHashSetTraits<Value, Traits, Allocator> NodeHashTraits;
typedef HashTable<Node,
......@@ -250,7 +251,7 @@ class LinkedHashSet {
bool is_new_entry;
};
typedef typename HashTraits<Value>::PeekInType ValuePeekInType;
typedef typename TraitsArg::PeekInType ValuePeekInType;
LinkedHashSet();
LinkedHashSet(const LinkedHashSet&);
......@@ -402,12 +403,12 @@ class LinkedHashSet {
NodeBase anchor_;
};
template <typename Value, typename HashFunctions>
template <typename Value, typename HashFunctions, typename TraitsArg>
struct LinkedHashSetTranslator {
STATIC_ONLY(LinkedHashSetTranslator);
typedef LinkedHashSetNode<Value> Node;
typedef LinkedHashSetNodeBase NodeBase;
typedef typename HashTraits<Value>::PeekInType ValuePeekInType;
typedef typename TraitsArg::PeekInType ValuePeekInType;
static unsigned GetHash(const Node& node) {
return HashFunctions::GetHash(node.value_);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment