64 #ifndef prof_lean_BalancedTree_h 65 #define prof_lean_BalancedTree_h 88 typedef void* (*BalancedTree_alloc_fn_t)(size_t);
163 while (curr !=
NULL && curr->
key != key) {
static BalancedTreeNode_t * BalancedTreeNode_alloc(BalancedTree_alloc_fn_t alloc, size_t dataSz)
static uint BalancedTree_size(BalancedTree_t *tree)
struct BalancedTree BalancedTree_t
struct BalancedTreeNode * parent
void *(* BalancedTree_alloc_fn_t)(size_t)
BalancedTree_alloc_fn_t allocFn
struct BalancedTreeNode BalancedTreeNode_t
struct BalancedTreeNode * right
static BalancedTreeNode_t * BalancedTree_find(BalancedTree_t *tree, void *key)
BalancedTreeNode_t * BalancedTree_insert(BalancedTree_t *tree, void *key)
struct BalancedTreeNode * left
void BalancedTreeNode_init(BalancedTreeNode_t *x, void *key, BalancedTreeNode_t *parent)
void pfq_rwlock_read_lock(pfq_rwlock_t *l)
void pfq_rwlock_read_unlock(pfq_rwlock_t *l)
BalancedTreeNode_t * root
void BalancedTree_init(BalancedTree_t *tree, BalancedTree_alloc_fn_t allocFn, size_t nodeDataSz)
BalancedTreeColor_t color