tlds
Transactional Operations for Linked Data Structures
|
Classes | |
struct | heap |
Macros | |
#define | PARENT(i) ((i) / 2) |
#define | LEFT_CHILD(i) (2*i) |
#define | RIGHT_CHILD(i) (2*(i) + 1) |
Functions | |
static TM_CALLABLE void | TMsiftUp (TM_ARGDECL heap_t *heapPtr, long startIndex) |
static TM_CALLABLE void | TMheapify (TM_ARGDECL heap_t *heapPtr, long startIndex) |
heap_t * | heap_alloc (long initCapacity, comparator_t *compare) |
heap_t * | TMheap_alloc (TM_ARGDECL long initCapacity, comparator_t *compare) |
void | heap_free (heap_t *heapPtr) |
static void | siftUp (heap_t *heapPtr, long startIndex) |
bool_t | heap_insert (heap_t *heapPtr, void *dataPtr) |
bool_t | TMheap_insert (TM_ARGDECL heap_t *heapPtr, void *dataPtr) |
static void | heapify (heap_t *heapPtr, long startIndex) |
void * | heap_remove (heap_t *heapPtr) |
void * | TMheap_remove (TM_ARGDECL heap_t *heapPtr) |
bool_t | heap_isValid (heap_t *heapPtr) |
#define LEFT_CHILD | ( | i | ) | (2*i) |
#define PARENT | ( | i | ) | ((i) / 2) |
#define RIGHT_CHILD | ( | i | ) | (2*(i) + 1) |
heap_t* heap_alloc | ( | long | initCapacity, |
comparator_t * | compare | ||
) |
void heap_free | ( | heap_t * | heapPtr | ) |
void* heap_remove | ( | heap_t * | heapPtr | ) |
|
static |
|
static |
heap_t* TMheap_alloc | ( | TM_ARGDECL long | initCapacity, |
comparator_t * | compare | ||
) |
bool_t TMheap_insert | ( | TM_ARGDECL heap_t * | heapPtr, |
void * | dataPtr | ||
) |
void* TMheap_remove | ( | TM_ARGDECL heap_t * | heapPtr | ) |
|
static |
|
static |