Forked from
gmsh / gmsh
11699 commits behind the upstream repository.
-
Christophe Geuzaine authoredChristophe Geuzaine authored
TreeUtils.h 897 B
// Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to <gmsh@geuz.org>.
#ifndef _TREE_UTILS_H_
#define _TREE_UTILS_H_
#include "avl.h"
#include "ListUtils.h"
typedef struct {
int size;
avl_tree *root;
} Tree_T;
Tree_T *Tree_Create(int size, int (*fcmp)(const void *a, const void *b));
void Tree_Delete(Tree_T *Tree);
void *Tree_Add(Tree_T *tree, void *data);
int Tree_Nbr(Tree_T *Tree);
int Tree_Insert(Tree_T *Tree, void *data);
int Tree_Search(Tree_T *Tree, void *data);
int Tree_Query(Tree_T *Tree, void *data);
void *Tree_PQuery(Tree_T *Tree, void *data);
int Tree_Suppress(Tree_T *Tree, void *data);
int Tree_Size(Tree_T *tree) ;
void Tree_Action(Tree_T *tree, void (*action) (void *data, void *dummy));
List_T *Tree2List(Tree_T *pTree);
#endif