Subversion Repositories HelenOS

Rev

Rev 2501 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2501 Rev 2504
Line 51... Line 51...
51
typedef struct avltree_node avltree_node_t;
51
typedef struct avltree_node avltree_node_t;
52
typedef struct avltree avltree_t;
52
typedef struct avltree avltree_t;
53
 
53
 
54
typedef uint64_t avltree_key_t;
54
typedef uint64_t avltree_key_t;
55
 
55
 
56
typedef void (* avltree_walker_t)(avltree_node_t *);
56
typedef bool (* avltree_walker_t)(avltree_node_t *, void *);
57
 
57
 
58
/** AVL tree node structure. */
58
/** AVL tree node structure. */
59
struct avltree_node
59
struct avltree_node
60
{
60
{
61
    /**
61
    /**
Line 131... Line 131...
131
extern avltree_node_t *avltree_find_min(avltree_t *t);
131
extern avltree_node_t *avltree_find_min(avltree_t *t);
132
extern avltree_node_t *avltree_search(avltree_t *t, avltree_key_t key);
132
extern avltree_node_t *avltree_search(avltree_t *t, avltree_key_t key);
133
extern void avltree_insert(avltree_t *t, avltree_node_t *newnode);
133
extern void avltree_insert(avltree_t *t, avltree_node_t *newnode);
134
extern void avltree_delete(avltree_t *t, avltree_node_t *node);
134
extern void avltree_delete(avltree_t *t, avltree_node_t *node);
135
extern bool avltree_delete_min(avltree_t *t);
135
extern bool avltree_delete_min(avltree_t *t);
136
extern void avltree_walk(avltree_t *t, avltree_walker_t walker);
136
extern void avltree_walk(avltree_t *t, avltree_walker_t walker, void *arg);
137
 
137
 
138
#endif
138
#endif
139
 
139
 
140
/** @}
140
/** @}
141
 */
141
 */