Home | History | Annotate | Download | only in depool

Lines Matching refs:slot

68 typedef struct TYPENAME##Slot_s TYPENAME##Slot;    \
73 TYPENAME##Slot* nextSlot; \
83 TYPENAME##Slot** slotTable; \
84 TYPENAME##Slot* slotFreeList; \
91 const TYPENAME##Slot* curSlot; \
228 TYPENAME##Slot* slot = set->slotTable[slotNdx]; \
229 while (slot) \
231 TYPENAME##Slot* nextSlot = slot->nextSlot; \
232 slot->nextSlot = set->slotFreeList; \
233 set->slotFreeList = slot; \
234 slot->numUsed = 0; \
235 slot = nextSlot; \
242 TYPENAME##Slot* TYPENAME##_allocSlot (TYPENAME* set) \
244 TYPENAME##Slot* slot; \
247 slot = set->slotFreeList; \
251 slot = (TYPENAME##Slot*)deMemPool_alloc(set->pool, sizeof(TYPENAME##Slot) * DE_SET_ELEMENTS_PER_SLOT); \
253 if (slot) \
255 slot->nextSlot = DE_NULL; \
256 slot->numUsed = 0; \
259 return slot; \
267 TYPENAME##Slot** oldSlotTable = set->slotTable; \
268 TYPENAME##Slot** newSlotTable = (TYPENAME##Slot**)deMemPool_alloc(set->pool, sizeof(TYPENAME##Slot*) * newSlotTableSize); \
286 TYPENAME##Slot* slot = oldSlotTable[slotNdx]; \
288 while (slot) \
291 for (elemNdx = 0; elemNdx < slot->numUsed; elemNdx++) \
294 if (!TYPENAME##_insert(set, slot->keys[elemNdx])) \
297 slot = slot->nextSlot; \
310 TYPENAME##Slot* slot = set->slotTable[slotNdx]; \
313 while (slot) \
316 for (elemNdx = 0; elemNdx < slot->numUsed; elemNdx++) \
318 if (CMPFUNC(slot->keys[elemNdx], key)) \
321 slot = slot->nextSlot; \
331 TYPENAME##Slot* slot; \
342 slot = set->slotTable[slotNdx]; \
344 if (!slot) \
346 slot = TYPENAME##_allocSlot(set); \
347 if (!slot) return DE_FALSE; \
348 set->slotTable[slotNdx] = slot; \
353 if (slot->numUsed == DE_SET_ELEMENTS_PER_SLOT) \
355 if (slot->nextSlot) \
356 slot = slot->nextSlot; \
359 TYPENAME##Slot* nextSlot = TYPENAME##_allocSlot(set); \
361 slot->nextSlot = nextSlot; \
362 slot = nextSlot; \
367 slot->keys[slot->numUsed] = key; \
368 slot->numUsed++; \
378 TYPENAME##Slot* slot; \
379 TYPENAME##Slot* prevSlot = DE_NULL; \
384 slot = set->slotTable[slotNdx]; \
385 DE_ASSERT(slot); \
390 DE_ASSERT(slot->numUsed > 0); \
391 for (elemNdx = 0; elemNdx < slot->numUsed; elemNdx++) \
393 if (CMPFUNC(key, slot->keys[elemNdx])) \
395 TYPENAME##Slot* lastSlot = slot; \
402 slot->keys[elemNdx] = lastSlot->keys[lastSlot->numUsed-1]; \
421 prevSlot = slot; \
422 slot = slot->nextSlot; \
423 DE_ASSERT(slot); \
447 const SETTYPENAME##Slot* slot = set->slotTable[slotNdx]; \
448 while (slot) \
451 for (elemNdx = 0; elemNdx < slot->numUsed; elemNdx++) \
452 ARRAYTYPENAME##_set(array, arrayNdx++, slot->keys[elemNdx]); \
453 slot = slot->nextSlot; \