libdebian-installer
tree.h
1 /*
2  * tree.h
3  *
4  * Copyright (C) 2006 Bastian Blank <waldi@debian.org>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef DEBIAN_INSTALLER__TREE_H
21 #define DEBIAN_INSTALLER__TREE_H
22 
23 #include <debian-installer/types.h>
24 
25 typedef struct di_tree di_tree;
26 
41 
59 
68 void di_tree_destroy (di_tree *tree);
69 
83 void di_tree_insert (di_tree *tree, void *key, void *value);
84 
93 void *di_tree_lookup (di_tree *tree, const void *key);
94 
107 void di_tree_foreach (di_tree *tree, di_hfunc *func, void *user_data);
108 
117 
119 #endif
di_tree * di_tree_new_full(di_compare_func key_compare_func, di_destroy_notify key_destroy_func, di_destroy_notify value_destroy_func)
Definition: tree.c:69
void di_tree_destroy(di_tree *tree)
Definition: tree.c:96
di_ksize_t di_tree_size(di_tree *tree)
Definition: tree.c:275
void * di_tree_lookup(di_tree *tree, const void *key)
Definition: tree.c:297
void di_tree_foreach(di_tree *tree, di_hfunc *func, void *user_data)
Definition: tree.c:270
void di_tree_insert(di_tree *tree, void *key, void *value)
Definition: tree.c:250
di_tree * di_tree_new(di_compare_func key_compare_func)
Definition: tree.c:64
uint32_t di_ksize_t
Definition: types.h:78
int di_compare_func(const void *key1, const void *key2)
Definition: types.h:38
void di_destroy_notify(void *data)
Definition: types.h:50
Tree.
Definition: tree.c:41
di_compare_func * key_compare_func
Definition: tree.c:44
di_destroy_notify * key_destroy_func
Definition: tree.c:45
di_destroy_notify * value_destroy_func
Definition: tree.c:46