42 static const unsigned int InitialFNV = 2166136261u;
43 static const unsigned int FNVMultiple = 16777619u;
46 unsigned int hash = InitialFNV;
48 for (
int i = 0;
m_string1.c_str()[i]; i++)
89 return getUid1() == other.getUid1();
94 unsigned int key = m_uid;
133 const bool VOID_IS_8 = ((
sizeof(
void*) == 8));
147template <
class Value>
164 return getUid1() == other.getUid1();
170 unsigned int key = m_uid;
182template <
class Value>
199 return getUid1() == other.getUid1();
204 unsigned int key = m_uid;
218template <
class Key,
class Value>
242 for (i = 0; i < newCapacity; ++i)
246 for (i = 0; i < newCapacity; ++i)
251 for (i = 0; i < curHashtableSize; i++)
282 if (oldCapacity < newCapacity)
308 while (index != pairIndex)
331 if (lastPairIndex == pairIndex)
345 while (index != lastPairIndex)
#define SIMD_FORCE_INLINE
SIMD_FORCE_INLINE void clear()
clear the array, deallocated memory. Generally it is better to use array.resize(0),...
SIMD_FORCE_INLINE int capacity() const
return the pre-allocated (reserved) elements, this is at least as large as the total number of elemen...
SIMD_FORCE_INLINE int size() const
return the number of elements in the array
SIMD_FORCE_INLINE void pop_back()
SIMD_FORCE_INLINE void resize(int newsize, const T &fillData=T())
SIMD_FORCE_INLINE void push_back(const T &_Val)
SIMD_FORCE_INLINE unsigned int getHash() const
bool equals(const btHashInt &other) const
SIMD_FORCE_INLINE unsigned int getHash() const
bool equals(const btHashKeyPtr< Value > &other) const
SIMD_FORCE_INLINE unsigned int getHash() const
bool equals(const btHashKey< Value > &other) const
void insert(const Key &key, const Value &value)
Key getKeyAtIndex(int index)
void growTables(const Key &)
Value * operator[](const Key &key)
int findIndex(const Key &key) const
const Key getKeyAtIndex(int index) const
Value * find(const Key &key)
void remove(const Key &key)
btAlignedObjectArray< int > m_hashTable
btAlignedObjectArray< int > m_next
const Value * getAtIndex(int index) const
btAlignedObjectArray< Key > m_keyArray
btAlignedObjectArray< Value > m_valueArray
const Value * find(const Key &key) const
Value * getAtIndex(int index)
const Value * operator[](const Key &key) const
const void * getPointer() const
btHashPtr(const void *ptr)
SIMD_FORCE_INLINE unsigned int getHash() const
bool equals(const btHashPtr &other) const
unsigned int m_hashValues[2]
very basic hashable string implementation, compatible with btHashMap
bool equals(const btHashString &other) const
btHashString(const char *name)
SIMD_FORCE_INLINE unsigned int getHash() const