le_redBlackTree.h
Go to the documentation of this file.
12 * scalability up and down, and possibility to easily iterate the set in ascending/descending order.17 * initialize it using le_rbtree_InitTree() routine. At this time the user has to provide a pointer41 * requirement for nodes is that it must contain an @c le_rbtree_Node_t link member. The link member143 * mutual exclusion of access. If you're accessing the same tree from multiple threads, you @e must144 * use a @ref c_mutex "mutex" or some other form of thread synchronization to ensure only one thread186 //--------------------------------------------------------------------------------------------------193 //--------------------------------------------------------------------------------------------------195 (201 //--------------------------------------------------------------------------------------------------207 //--------------------------------------------------------------------------------------------------217 //--------------------------------------------------------------------------------------------------221 //--------------------------------------------------------------------------------------------------228 //--------------------------------------------------------------------------------------------------232 //--------------------------------------------------------------------------------------------------239 //--------------------------------------------------------------------------------------------------247 //--------------------------------------------------------------------------------------------------254 //--------------------------------------------------------------------------------------------------261 //--------------------------------------------------------------------------------------------------268 //--------------------------------------------------------------------------------------------------275 //--------------------------------------------------------------------------------------------------282 //--------------------------------------------------------------------------------------------------289 //--------------------------------------------------------------------------------------------------296 //--------------------------------------------------------------------------------------------------303 //--------------------------------------------------------------------------------------------------309 //--------------------------------------------------------------------------------------------------316 //--------------------------------------------------------------------------------------------------322 //--------------------------------------------------------------------------------------------------331 //--------------------------------------------------------------------------------------------------338 //--------------------------------------------------------------------------------------------------347 //--------------------------------------------------------------------------------------------------354 //--------------------------------------------------------------------------------------------------360 //--------------------------------------------------------------------------------------------------366 //--------------------------------------------------------------------------------------------------372 //--------------------------------------------------------------------------------------------------le_rbtree_Node_t * le_rbtree_GetNext(const le_rbtree_Tree_t *treePtr, le_rbtree_Node_t *currentLinkPtr)struct le_rbtree_Node * parentParent link pointer.Definition: le_redBlackTree.h:179struct le_rbtree_Node * leftLeft node link pointer.Definition: le_redBlackTree.h:180le_rbtree_Node_t * le_rbtree_Insert(le_rbtree_Tree_t *treePtr, le_rbtree_Node_t *newLinkPtr)le_rbtree_Node_t * le_rbtree_GetLast(const le_rbtree_Tree_t *treePtr)size_t le_rbtree_Size(const le_rbtree_Tree_t *treePtr)le_rbtree_Node_t * le_rbtree_GetFirst(const le_rbtree_Tree_t *treePtr)void le_rbtree_InitTree(le_rbtree_Tree_t *treePtr, le_rbtree_CompareFunc_t compFn)le_rbtree_Node_t * le_rbtree_GetPrev(const le_rbtree_Tree_t *treePtr, le_rbtree_Node_t *currentLinkPtr)struct le_rbtree_Node * rightRight node link pointer.Definition: le_redBlackTree.h:181le_rbtree_Node_t * le_rbtree_Remove(le_rbtree_Tree_t *treePtr, le_rbtree_Node_t *linkPtr)void le_rbtree_InitNode(le_rbtree_Node_t *linkPtr, void *keyPtr)le_rbtree_CompareFunc_t compFnKey comparison function.Definition: le_redBlackTree.h:212bool le_rbtree_IsEmpty(const le_rbtree_Tree_t *treePtr)le_rbtree_Node_t * le_rbtree_Find(le_rbtree_Tree_t *treePtr, void *keyPtr)Definition: le_redBlackTree.h:208Definition: le_redBlackTree.h:176int(* le_rbtree_CompareFunc_t)(const void *key1Ptr, const void *key2Ptr)Definition: le_redBlackTree.h:195le_rbtree_Node_t * le_rbtree_RemoveByKey(le_rbtree_Tree_t *treePtr, void *keyPtr)