52 typedef HashMap<std::pair<unsigned short, AtomicString>, DynamicSubtreeNodeList*> NodeListAtomicNameCacheMap;
53 typedef HashMap<std::pair<unsigned short, String>, DynamicSubtreeNodeList*> NodeListNameCacheMap;
52 template <typename StringType>
53 struct NodeListCacheMapEntryHash {
54 static unsigned hash(const std::pair<StringType, unsigned char>& entry)
55 {
56 return WTF::DefaultHash<StringType>::Hash::hash(entry.first) + entry.second;
57 }
58
59 static bool equal(const std::pair<StringType, unsigned char>& a, const std::pair<StringType, unsigned char>& b) { return a == b; }
60
61 static const bool safeToCompareToEmptyOrDeleted = WTF::DefaultHash<StringType>::Hash::safeToCompareToEmptyOrDeleted;
62 };
63
64 typedef HashMap<std::pair<AtomicString, unsigned char>, DynamicSubtreeNodeList*, NodeListCacheMapEntryHash<AtomicString> > NodeListAtomicNameCacheMap;
65 typedef HashMap<std::pair<String, unsigned char>, DynamicSubtreeNodeList*, NodeListCacheMapEntryHash<String> > NodeListNameCacheMap;