Lines Matching refs:HashTable

27 	typedef BOpenHashTable<Definition, AutoExpand, CheckDuplicates> HashTable;
30 typedef typename HashTable::Iterator Iterator;
35 : HashTable() {}
38 : HashTable(definition) {}
40 status_t Init(size_t initialSize = HashTable::kMinimumSize)
42 return HashTable::Init(initialSize);
48 && HashTable::fItemCount >= (HashTable::fTableSize * 200 / 256))
49 _Resize(HashTable::fTableSize * 2);
56 _Insert(HashTable::fTable, HashTable::fTableSize, value);
57 HashTable::fItemCount++;
62 if (!HashTable::RemoveUnchecked(value))
65 if (AutoExpand && HashTable::fTableSize > HashTable::kMinimumSize
66 && HashTable::fItemCount < (HashTable::fTableSize * 50 / 256))
67 _Resize(HashTable::fTableSize / 2);
72 Iterator GetIterator() const { return HashTable::GetIterator(); }
76 ValueIterator(const HashTable *table, size_t index, ValueType *value)
110 if (HashTable::fTableSize > 0) {
111 index = HashTable::fDefinition.HashKey(key)
112 & (HashTable::fTableSize - 1);
113 slot = HashTable::fTable[index];
117 if (HashTable::fDefinition.Compare(key, slot))
119 slot = HashTable::_Link(slot);
123 return ValueIterator(this, HashTable::fTableSize, NULL);
132 const Definition &_Definition() const { return HashTable::fDefinition; }
136 size_t index = HashTable::fDefinition.Hash(value) & (tableSize - 1);
142 && !HashTable::fDefinition.CompareValues(previous, value);
143 previous = HashTable::_Link(previous));
146 HashTable::_Link(value) = HashTable::_Link(previous);
147 HashTable::_Link(previous) = value;
149 HashTable::_Link(value) = table[index];
164 if (HashTable::fTable) {
165 for (size_t i = 0; i < HashTable::fTableSize; i++) {
166 ValueType *bucket = HashTable::fTable[i];
168 ValueType *next = HashTable::_Link(bucket);
174 delete [] HashTable::fTable;
177 HashTable::fTableSize = newSize;
178 HashTable::fTable = newTable;