Home | History | Annotate | Download | only in depool

Lines Matching refs:hash

23  * \brief Memory pool hash-set class.
37 * \brief Declare a template pool hash-set (hash of sets) class interface.
38 * \param TYPENAME Type name of the declared hash-set.
44 * The functions for operating the hash are:
51 * Hash<Set*>* HashSet_getHash (const HashSet* hashSet); TODO: better API
60 DE_DECLARE_POOL_HASH(TYPENAME##Hash, KEYTYPE, TYPENAME##Set*); \
63 TYPENAME##Hash* hash; \
68 DE_INLINE TYPENAME##Hash* TYPENAME##_getHash (const TYPENAME* hashSet) DE_UNUSED_FUNCTION; \
79 if ((hashSet->hash = TYPENAME##Hash_create(pool)) == DE_NULL) \
86 return TYPENAME##Hash_getNumElements(hashSet->hash); \
89 DE_INLINE TYPENAME##Hash* TYPENAME##_getHash (const TYPENAME* hashSet) \
91 return hashSet->hash; \
96 TYPENAME##Set** setPtr = TYPENAME##Hash_find(hashSet->hash, key); \
100 set = TYPENAME##Set_create(hashSet->hash->pool); \
103 return TYPENAME##Hash_insert(hashSet->hash, key, set); \
113 TYPENAME##Set** setPtr = TYPENAME##Hash_find(hashSet->hash, key); \
127 TYPENAME##Set** setPtr = TYPENAME##Hash_find(hashSet->hash, key); \
133 TYPENAME##Set** setPtr = TYPENAME##Hash_find(hashSet->hash, key); \
142 TYPENAME##Set** setPtr = TYPENAME##Hash_find(hashSet->hash, key); \
152 * \brief Implement a template pool hash-set class.
153 * \param TYPENAME Type name of the declared hash.
159 * This macro has implements the hash declared with DE_DECLARE_POOL_HASH.
166 DE_IMPLEMENT_POOL_HASH(TYPENAME##Hash, KEYTYPE, TYPENAME##Set*, KEYHASHFUNC, KEYCMPFUNC); \
178 deBool HASHTYPENAME##_copyToArray(const HASHTYPENAME* hash, KEYARRAYTYPENAME* keyArray, VALUEARRAYTYPENAME* valueArray) \
180 int numElements = hash->numElements; \
188 for (slotNdx = 0; slotNdx < hash->slotTableSize; slotNdx++) \
190 const HASHTYPENAME##Slot* slot = hash->slotTable[slotNdx]; \