gdsl  1.7
gdsl_rbtree.h File Reference

Go to the source code of this file.

Typedefs

typedef struct gdsl_rbtree * gdsl_rbtree_t

Functions

gdsl_rbtree_t gdsl_rbtree_alloc (const char *NAME, gdsl_alloc_func_t ALLOC_F, gdsl_free_func_t FREE_F, gdsl_compare_func_t COMP_F)
 Create a new red-black tree.
void gdsl_rbtree_free (gdsl_rbtree_t T)
 Destroy a red-black tree.
void gdsl_rbtree_flush (gdsl_rbtree_t T)
 Flush a red-black tree.
char * gdsl_rbtree_get_name (const gdsl_rbtree_t T)
 Get the name of a red-black tree.
bool gdsl_rbtree_is_empty (const gdsl_rbtree_t T)
 Check if a red-black tree is empty.
gdsl_element_t gdsl_rbtree_get_root (const gdsl_rbtree_t T)
 Get the root of a red-black tree.
ulong gdsl_rbtree_get_size (const gdsl_rbtree_t T)
 Get the size of a red-black tree.
ulong gdsl_rbtree_height (const gdsl_rbtree_t T)
 Get the height of a red-black tree.
gdsl_rbtree_t gdsl_rbtree_set_name (gdsl_rbtree_t T, const char *NEW_NAME)
 Set the name of a red-black tree.
gdsl_element_t gdsl_rbtree_insert (gdsl_rbtree_t T, void *VALUE, int *RESULT)
 Insert an element into a red-black tree if it's not found or return it.
gdsl_element_t gdsl_rbtree_remove (gdsl_rbtree_t T, void *VALUE)
 Remove an element from a red-black tree.
gdsl_rbtree_t gdsl_rbtree_delete (gdsl_rbtree_t T, void *VALUE)
 Delete an element from a red-black tree.
gdsl_element_t gdsl_rbtree_search (const gdsl_rbtree_t T, gdsl_compare_func_t COMP_F, void *VALUE)
 Search for a particular element into a red-black tree.
gdsl_element_t gdsl_rbtree_map_prefix (const gdsl_rbtree_t T, gdsl_map_func_t MAP_F, void *USER_DATA)
 Parse a red-black tree in prefixed order.
gdsl_element_t gdsl_rbtree_map_infix (const gdsl_rbtree_t T, gdsl_map_func_t MAP_F, void *USER_DATA)
 Parse a red-black tree in infixed order.
gdsl_element_t gdsl_rbtree_map_postfix (const gdsl_rbtree_t T, gdsl_map_func_t MAP_F, void *USER_DATA)
 Parse a red-black tree in postfixed order.
void gdsl_rbtree_write (const gdsl_rbtree_t T, gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)
 Write the element of each node of a red-black tree to a file.
void gdsl_rbtree_write_xml (const gdsl_rbtree_t T, gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)
 Write the content of a red-black tree to a file into XML.
void gdsl_rbtree_dump (const gdsl_rbtree_t T, gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)
 Dump the internal structure of a red-black tree to a file.