comparison src/core/ngx_rbtree.h @ 0:f0b350454894 NGINX_0_1_0

nginx 0.1.0 *) The first public version.
author Igor Sysoev <http://sysoev.ru>
date Mon, 04 Oct 2004 00:00:00 +0400
parents
children 74b1868dd3cd
comparison
equal deleted inserted replaced
-1:000000000000 0:f0b350454894
1
2 /*
3 * Copyright (C) Igor Sysoev
4 */
5
6
7 #ifndef _NGX_RBTREE_H_INCLUDED_
8 #define _NGX_RBTREE_H_INCLUDED_
9
10
11 #include <ngx_config.h>
12 #include <ngx_core.h>
13
14
15 typedef struct ngx_rbtree_s ngx_rbtree_t;
16
17 struct ngx_rbtree_s {
18 ngx_int_t key;
19 ngx_rbtree_t *left;
20 ngx_rbtree_t *right;
21 ngx_rbtree_t *parent;
22 char color;
23 };
24
25
26 void ngx_rbtree_insert(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
27 ngx_rbtree_t *node);
28 void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
29 ngx_rbtree_t *node);
30
31
32 ngx_inline static ngx_rbtree_t *ngx_rbtree_min(ngx_rbtree_t *node,
33 ngx_rbtree_t *sentinel)
34 {
35 while (node->left != sentinel) {
36 node = node->left;
37 }
38
39 return node;
40 }
41
42
43 #endif /* _NGX_RBTREE_H_INCLUDED_ */