GRASS 8 Programmer's Manual 8.6.0dev(2026)-ddeab64dbf
Loading...
Searching...
No Matches
defs/rbtree.h
Go to the documentation of this file.
1#ifndef GRASS_RBTREEDEFS_H
2#define GRASS_RBTREEDEFS_H
3
4/* tree functions */
5struct RB_TREE *rbtree_create(rb_compare_fn *, size_t);
6void rbtree_clear(struct RB_TREE *);
7void rbtree_destroy(struct RB_TREE *);
8int rbtree_insert(struct RB_TREE *, void *);
9int rbtree_remove(struct RB_TREE *, const void *);
10void *rbtree_find(struct RB_TREE *, const void *);
11
12/* tree traversal functions */
13int rbtree_init_trav(struct RB_TRAV *, struct RB_TREE *);
14void *rbtree_traverse(struct RB_TRAV *);
15void *rbtree_traverse_backwd(struct RB_TRAV *trav);
16void *rbtree_traverse_start(struct RB_TRAV *, const void *);
17
18/* debug tree from given node downwards */
19int rbtree_debug(struct RB_TREE *, struct RB_NODE *);
20
21#endif
int rbtree_insert(struct RB_TREE *, void *)
Definition rbtree.c:73
int rbtree_init_trav(struct RB_TRAV *, struct RB_TREE *)
Definition rbtree.c:264
int rbtree_debug(struct RB_TREE *, struct RB_NODE *)
Definition rbtree.c:530
void rbtree_clear(struct RB_TREE *)
Definition rbtree.c:490
struct RB_TREE * rbtree_create(rb_compare_fn *, size_t)
Definition rbtree.c:49
int rbtree_remove(struct RB_TREE *, const void *)
Definition rbtree.c:154
void * rbtree_find(struct RB_TREE *, const void *)
Definition rbtree.c:243
void * rbtree_traverse_start(struct RB_TRAV *, const void *)
Definition rbtree.c:335
void * rbtree_traverse_backwd(struct RB_TRAV *trav)
Definition rbtree.c:307
void * rbtree_traverse(struct RB_TRAV *)
Definition rbtree.c:281
void rbtree_destroy(struct RB_TREE *)
Definition rbtree.c:520
int rb_compare_fn(const void *rb_a, const void *rb_b)
Definition rbtree.h:76