37 static const unsigned int InitialFNV = 2166136261u;
38 static const unsigned int FNVMultiple = 16777619u;
41 unsigned int hash = InitialFNV;
46 hash = hash * FNVMultiple;
55 while( ! (ret = *(
unsigned char *)src - *(
unsigned char *)dst) && *dst)
105 key += ~(key << 15); key ^= (key >> 10); key += (key << 3); key ^= (key >> 6); key += ~(key << 11); key ^= (key >> 16);
141 const bool VOID_IS_8 = ((
sizeof(
void*)==8));
146 key += ~(key << 15); key ^= (key >> 10); key += (key << 3); key ^= (key >> 6); key += ~(key << 11); key ^= (key >> 16);
154 template <
class Value>
179 key += ~(key << 15); key ^= (key >> 10); key += (key << 3); key ^= (key >> 6); key += ~(key << 11); key ^= (key >> 16);
187 template <
class Value>
211 key += ~(key << 15); key ^= (key >> 10); key += (key << 3); key ^= (key >> 6); key += ~(key << 11); key ^= (key >> 16);
219 template <
class Key,
class Value>
244 for (i= 0; i < newCapacity; ++i)
248 for (i = 0; i < newCapacity; ++i)
253 for(i=0;i<curHashtableSize;i++)
269 void insert(
const Key& key,
const Value& value) {
286 if (oldCapacity < newCapacity)
296 void remove(
const Key& key) {
312 while (index != pairIndex)
335 if (lastPairIndex == pairIndex)
349 while (index != lastPairIndex)
402 const Value*
find(
const Key& key)
const
450 #endif //BT_HASH_MAP_H