19#ifndef __PJ_RBTREE_H__
20#define __PJ_RBTREE_H__
105#define PJ_RBTREE_NODE_SIZE (sizeof(pj_rbtree_node))
111#define PJ_RBTREE_SIZE (sizeof(pj_rbtree))
unsigned pj_rbtree_min_height(pj_rbtree *tree, pj_rbtree_node *node)
int pj_rbtree_insert(pj_rbtree *tree, pj_rbtree_node *node)
int pj_rbtree_comp(const void *key1, const void *key2)
Definition: rbtree.h:81
pj_rbtree_node * pj_rbtree_first(pj_rbtree *tree)
void pj_rbtree_init(pj_rbtree *tree, pj_rbtree_comp *comp)
pj_rbtree_node * pj_rbtree_next(pj_rbtree *tree, pj_rbtree_node *node)
pj_rbtree_node * pj_rbtree_last(pj_rbtree *tree)
unsigned pj_rbtree_max_height(pj_rbtree *tree, pj_rbtree_node *node)
pj_rbtree_node * pj_rbtree_find(pj_rbtree *tree, const void *key)
pj_rbcolor_t
Definition: rbtree.h:43
pj_rbtree_node * pj_rbtree_prev(pj_rbtree *tree, pj_rbtree_node *node)
pj_rbtree_node * pj_rbtree_erase(pj_rbtree *tree, pj_rbtree_node *node)
#define PJ_BEGIN_DECL
Definition: config.h:1284
#define PJ_END_DECL
Definition: config.h:1285
const void * key
Definition: rbtree.h:63
pj_rbcolor_t color
Definition: rbtree.h:69
struct pj_rbtree_node * parent
Definition: rbtree.h:54
void * user_data
Definition: rbtree.h:66
struct pj_rbtree_node * right
Definition: rbtree.h:60
struct pj_rbtree_node * left
Definition: rbtree.h:57
pj_rbtree_node * null
Definition: rbtree.h:95
unsigned size
Definition: rbtree.h:97
pj_rbtree_comp * comp
Definition: rbtree.h:98
pj_rbtree_node * root
Definition: rbtree.h:96
pj_rbtree_node null_node
Definition: rbtree.h:94
Declaration of basic types and utility.