#include "../stdafx.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include "ptree.h"
Go to the source code of this file.
Classes | |
| struct | ptree_node |
Functions | |
| static ptree_node_t * | _find_min (ptree_node_t *pn, int *levelp) |
| static ptree_node_t * | _find_succ (ptree_node_t *pn, int *levelp) |
| static void | _remove_node (ptree_node_t **rootp, ptree_node_t *pn, void **oldval) |
| static ptree_walk_res_t | _visit (struct ptree_node *pn, int level, void *arg1, void *arg2) |
| static int | _walk_int (struct ptree_node *pn, ptree_order_t order, int level, ptree_walk_res_t(*func)(struct ptree_node *, int level, void *, void *), void *arg1, void *arg2) |
| static int | _walk_to (void *v, struct ptree_node **startp, struct ptree_node ***pp, int(*cmp)(const void *v1, const void *v2)) |
| void | ptree_clear (ptree_node_t **rootp) |
| ptree_walk_res_t | ptree_clear_func (struct ptree_node *pn, int level, void *arg1, void *arg2) |
| int | ptree_contains (void *v, ptree_node_t *parentp, int(*cmp)(const void *v1, const void *v2), void **nodeval) |
| int | ptree_inorder_walk_remove (ptree_node_t **rootp, void **oldval, void *pn, int(*cmp)(const void *v1, const void *v2)) |
| int | ptree_remove (void *v, ptree_node_t **rootp, int(*cmp)(const void *v1, const void *v2), void **oldval) |
| int | ptree_replace (void *v, ptree_node_t **rootp, int(*cmp)(const void *v1, const void *v2), void **oldval) |
| ptree_walk_res_t | ptree_walk (ptree_node_t *start, ptree_order_t order, ptree_walk_res_t(*func)(const void *v1, int level, void *arg, void *ptree_inorder_walking_remove_arg), int(*cmp)(const void *v1, const void *v2), void *arg) |
| static ptree_node_t* _find_min | ( | ptree_node_t * | pn, |
| int * | levelp | ||
| ) | [static] |
| static ptree_node_t* _find_succ | ( | ptree_node_t * | pn, |
| int * | levelp | ||
| ) | [static] |
| static void _remove_node | ( | ptree_node_t ** | rootp, |
| ptree_node_t * | pn, | ||
| void ** | oldval | ||
| ) | [static] |
| static ptree_walk_res_t _visit | ( | struct ptree_node * | pn, |
| int | level, | ||
| void * | arg1, | ||
| void * | arg2 | ||
| ) | [static] |
| static int _walk_int | ( | struct ptree_node * | pn, |
| ptree_order_t | order, | ||
| int | level, | ||
| ptree_walk_res_t(*)(struct ptree_node *, int level, void *, void *) | func, | ||
| void * | arg1, | ||
| void * | arg2 | ||
| ) | [static] |
| static int _walk_to | ( | void * | v, |
| struct ptree_node ** | startp, | ||
| struct ptree_node *** | pp, | ||
| int(*)(const void *v1, const void *v2) | cmp | ||
| ) | [static] |
| void ptree_clear | ( | ptree_node_t ** | rootp | ) |
| ptree_walk_res_t ptree_clear_func | ( | struct ptree_node * | pn, |
| int | level, | ||
| void * | arg1, | ||
| void * | arg2 | ||
| ) |
| int ptree_contains | ( | void * | v, |
| ptree_node_t * | parentp, | ||
| int(*)(const void *v1, const void *v2) | cmp, | ||
| void ** | nodeval | ||
| ) |
| int ptree_inorder_walk_remove | ( | ptree_node_t ** | rootp, |
| void ** | oldval, | ||
| void * | pn, | ||
| int(*)(const void *v1, const void *v2) | cmp | ||
| ) |
| int ptree_remove | ( | void * | v, |
| ptree_node_t ** | rootp, | ||
| int(*)(const void *v1, const void *v2) | cmp, | ||
| void ** | oldval | ||
| ) |
| int ptree_replace | ( | void * | v, |
| ptree_node_t ** | rootp, | ||
| int(*)(const void *v1, const void *v2) | cmp, | ||
| void ** | oldval | ||
| ) |
| ptree_walk_res_t ptree_walk | ( | ptree_node_t * | start, |
| ptree_order_t | order, | ||
| ptree_walk_res_t(*)(const void *v1, int level, void *arg, void *ptree_inorder_walking_remove_arg) | func, | ||
| int(*)(const void *v1, const void *v2) | cmp, | ||
| void * | arg | ||
| ) |