Lines Matching refs:hash
26 // initial_capacity is the size of the initial hash map;
34 // HashMap entries are (key, value, hash) triplets.
40 uint32_t hash; // The full hash value for key
47 // corresponding key, key hash, and NULL value.
49 Entry* Lookup(void* key, uint32_t hash, bool insert,
55 void* Remove(void* key, uint32_t hash);
57 // Empties the hash map (occupancy() == 0).
91 Entry* Probe(void* key, uint32_t hash);
115 void* key, uint32_t hash, bool insert, AllocationPolicy allocator) {
117 Entry* p = Probe(key, hash);
126 p->hash = hash;
133 p = Probe(key, hash);
145 void* TemplateHashMapImpl<AllocationPolicy>::Remove(void* key, uint32_t hash) {
147 Entry* p = Probe(key, hash);
187 Entry* r = map_ + (q->hash & (capacity_ - 1));
240 TemplateHashMapImpl<AllocationPolicy>::Probe(void* key, uint32_t hash) {
244 Entry* p = map_ + (hash & (capacity_ - 1));
249 while (p->key != NULL && (hash != p->hash || !match_(key, p->key))) {
285 Entry* entry = Lookup(p->key, p->hash, true, allocator);
297 // A hash map for pointer keys and values with an STL-like interface.
341 return Iterator(this, this->Lookup(key, key->Hash(), insert, allocator));