void * isc_heap_element(isc_heap_t *heap, unsigned int index)
Returns the element for a specific element index.
void isc_heap_foreach(isc_heap_t *heap, isc_heapaction_t action, void *uap)
Iterate over the heap, calling an action for each element. The order of iteration is not sorted.
void(* isc_heapindex_t)(void *, unsigned int)
isc_boolean_t(* isc_heapcompare_t)(void *, void *)
struct isc_heap isc_heap_t
void isc_heap_destroy(isc_heap_t **heapp)
Destroys a heap.
isc_result_t isc_heap_insert(isc_heap_t *heap, void *elt)
Inserts a new element into a heap.
void isc_heap_decreased(isc_heap_t *heap, unsigned int index)
Indicates to the heap that an element's priority has decreased. This function MUST be called whenever...
void isc_heap_increased(isc_heap_t *heap, unsigned int index)
Indicates to the heap that an element's priority has increased. This function MUST be called whenever...
isc_result_t isc_heap_create(isc_heapcompare_t compare, isc_heapindex_t index, unsigned int size_increment, isc_heap_t **heapp)
Create a new heap. The heap is implemented using a space-efficient storage method....
void isc_heap_delete(isc_heap_t *heap, unsigned int index)
Deletes an element from a heap, by element index.
void(* isc_heapaction_t)(void *, void *)