summaryrefslogtreecommitdiffstats
path: root/lib/rbtree.h
blob: 1187e5cac1af2bc8bcad8bdc3ff45b6f20cded96 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef _JOVE_LIB_RBTREE_H
#define _JOVE_LIB_RBTREE_H 1

#include <stdint.h>

struct rbtree_node
{
    struct rbtree_node *parent;
    struct rbtree_node *children[2];

    char color;
    intmax_t (*get_key)(struct rbtree_node*);
};

struct rbtree_node *rbtree_search(struct rbtree_node *parent, intmax_t key);

struct rbtree_node *rbtree_insert(struct rbtree_node *parent, struct rbtree_node *node);

#endif