comparison src/core/ngx_rbtree.h @ 205:4a9a2b1dd6fa

nginx-0.0.1-2003-12-04-17:53:00 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 04 Dec 2003 14:53:00 +0000
parents
children 9aa426375256
comparison
equal deleted inserted replaced
204:e0bcfb77d6c7 205:4a9a2b1dd6fa
1 #ifndef _NGX_RBTREE_H_INCLUDED_
2 #define _NGX_RBTREE_H_INCLUDED_
3
4
5 #include <ngx_config.h>
6 #include <ngx_core.h>
7
8
9 typedef struct ngx_rbtree_s ngx_rbtree_t;
10
11 struct ngx_rbtree_s {
12 ngx_int_t key;
13 ngx_rbtree_t *left;
14 ngx_rbtree_t *right;
15 ngx_rbtree_t *parent;
16 void *data;
17 };
18
19 extern ngx_rbtree_t sentinel;
20
21
22 void ngx_rbtree_insert(ngx_rbtree_t **root, ngx_rbtree_t *node);
23 void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *node);
24
25
26 ngx_inline static ngx_rbtree_t *ngx_rbtree_min(ngx_rbtree_t *root)
27 {
28 while (root->left != &sentinel) {
29 root = root->left;
30 }
31
32 return root;
33 }
34
35
36 #endif /* _NGX_RBTREE_H_INCLUDED_ */