PostgreSQL Source Code: src/include/lib/rbtree.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef RBTREE_H
14#define RBTREE_H
15
16
17
18
19
20
21
22
24{
30
31
33
34
36{
40
41
42
43
44
45
47
49{
54};
55
56
61
67 void *arg);
68
73
76
80
81#endif
RBTNode * rbt_find_great(RBTree *rbt, const RBTNode *data, bool equal_match)
RBTNode * rbt_iterate(RBTreeIterator *iter)
RBTNode * rbt_insert(RBTree *rbt, const RBTNode *data, bool *isNew)
void rbt_begin_iterate(RBTree *rbt, RBTOrderControl ctrl, RBTreeIterator *iter)
void(* rbt_freefunc)(RBTNode *x, void *arg)
void(* rbt_combiner)(RBTNode *existing, const RBTNode *newdata, void *arg)
RBTNode * rbt_find_less(RBTree *rbt, const RBTNode *data, bool equal_match)
RBTree * rbt_create(Size node_size, rbt_comparator comparator, rbt_combiner combiner, rbt_allocfunc allocfunc, rbt_freefunc freefunc, void *arg)
RBTNode * rbt_find(RBTree *rbt, const RBTNode *data)
RBTNode *(* rbt_allocfunc)(void *arg)
int(* rbt_comparator)(const RBTNode *a, const RBTNode *b, void *arg)
RBTNode * rbt_leftmost(RBTree *rbt)
void rbt_delete(RBTree *rbt, RBTNode *node)