lv_rb.h

Typedefs

typedef struct lv_rb_node_t lv_rb_node_t
typedef int8_t lv_rb_compare_res_t
typedef lv_rb_compare_res_t (*lv_rb_compare_t)(const void *a, const void *b)

Enums

enum lv_rb_color_t

Values:

enumerator LV_RB_COLOR_RED
enumerator LV_RB_COLOR_BLACK

Functions

bool lv_rb_init(lv_rb_t *tree, lv_rb_compare_t compare, size_t node_size)
lv_rb_node_t *lv_rb_insert(lv_rb_t *tree, void *key)
lv_rb_node_t *lv_rb_find(lv_rb_t *tree, const void *key)
void *lv_rb_remove_node(lv_rb_t *tree, lv_rb_node_t *node)
void *lv_rb_remove(lv_rb_t *tree, const void *key)
bool lv_rb_drop_node(lv_rb_t *tree, lv_rb_node_t *node)
bool lv_rb_drop(lv_rb_t *tree, const void *key)
lv_rb_node_t *lv_rb_minimum(lv_rb_t *node)
lv_rb_node_t *lv_rb_maximum(lv_rb_t *node)
lv_rb_node_t *lv_rb_minimum_from(lv_rb_node_t *node)
lv_rb_node_t *lv_rb_maximum_from(lv_rb_node_t *node)
void lv_rb_destroy(lv_rb_t *tree)
struct lv_rb_node_t

Public Members

struct lv_rb_node_t *parent
struct lv_rb_node_t *left
struct lv_rb_node_t *right
lv_rb_color_t color
void *data
struct lv_rb_t

Public Members

lv_rb_node_t *root
lv_rb_compare_t compare
size_t size