ptree.h
Go to the documentation of this file.
00001 #ifndef _PTREE_H_
00002 #define _PTREE_H_
00003 
00004 typedef struct ptree_node ptree_node_t;
00005 
00006 typedef enum {
00007         PTREE_PREORDER = 1,
00008         PTREE_INORDER = 2,
00009         PTREE_POSTORDER = 3
00010 }  ptree_order_t;
00011 
00012 typedef enum {
00013         PTREE_WALK_STOP = 0,
00014         PTREE_WALK_CONTINUE = 1
00015 } ptree_walk_res_t;
00016 
00017 int ptree_contains(void *v, ptree_node_t *root, int(*)(const void *sv,
00018     const void *tv), void **nodeval);
00019 int ptree_remove(void *v, ptree_node_t **root, int(*)(const void *sv,
00020     const void *tv), void **oltval);
00021 int ptree_replace(void *v, ptree_node_t **root, int(*)(const void *sv,
00022     const void *tv), void **oltval);
00023 void ptree_clear(ptree_node_t **root);
00024 ptree_walk_res_t
00025 ptree_walk(ptree_node_t *start, 
00026                    ptree_order_t order,
00027                    ptree_walk_res_t (*func)(const void *v1, int level, void *arg, void *ptree_inorder_walking_remove_arg), 
00028                    int (*cmp)(const void *v1, const void *v2),
00029                    void *arg);
00030 int ptree_inorder_walk_remove(ptree_node_t **rootp, void **oldval, void *piwra,
00031                                                   int (*cmp)(const void *v1, const void *v2));
00032 
00033 #endif


pedal_monitor
Author(s): Pedro Mendes
autogenerated on Fri Jun 6 2014 18:37:21