tree.h
uint32_t fiftyoneDegreesTreeCount(fiftyoneDegreesTreeRoot *root)
Used by assert statements to validate the number of entries in the cache for debugging should any cha...
Definition: tree.c:381
fiftyoneDegreesTreeNode * fiftyoneDegreesTreeFind(fiftyoneDegreesTreeRoot *root, int64_t key)
Returns the node that matches the key code provided.
Definition: tree.c:252
void fiftyoneDegreesTreeRootInit(fiftyoneDegreesTreeRoot *root)
Initialises a newly allocated tree root to a clean state.
Definition: tree.c:351
fiftyoneDegreesTreeRoot * root
The current root node of the tree.
Definition: tree.h:72
fiftyoneDegreesTreeNode * right
Right node or NULL if none.
Definition: tree.h:75
void fiftyoneDegreesTreeNodeRemove(fiftyoneDegreesTreeNode *node)
Removes a node from the tree it belongs to.
Definition: tree.c:344
void fiftyoneDegreesTreeNodeInit(fiftyoneDegreesTreeNode *node, fiftyoneDegreesTreeRoot *root)
Initialises a newly allocated node.
Definition: tree.c:366
fiftyoneDegreesTreeNode root
The current root node of the tree.
Definition: tree.h:81
void(* fiftyoneDegreesTreeIterateMethod)(void *state, fiftyoneDegreesTreeNode *node)
Callback method called while iterating over a tree.
Definition: tree.h:90
fiftyoneDegreesTreeNode * parent
Parent node or NULL if root.
Definition: tree.h:73
int64_t key
Numeric key associated with the data value.
Definition: tree.h:71
void fiftyoneDegreesTreeInsert(fiftyoneDegreesTreeNode *node)
Inserts the node into the red black tree.
Definition: tree.c:269
void fiftyoneDegreesTreeIterateNodes(fiftyoneDegreesTreeRoot *root, void *state, fiftyoneDegreesTreeIterateMethod callback)
Iterates over all the nodes in the tree starting at the root provided, calling the callback method wi...
Definition: tree.c:374
unsigned char colour
The colour of the node in the red black tree.
Definition: tree.h:76
fiftyoneDegreesTreeNode * left
Left node or NULL if none.
Definition: tree.h:74
void fiftyoneDegreesTreeDelete(fiftyoneDegreesTreeNode *node)
Removes the node from the tree so that it can be used again to store another result.
Definition: tree.c:300
