mirror of
https://github.com/reactos/reactos.git
synced 2024-09-21 18:17:19 +00:00
29fa274d6d
- TSVN choked repeatedly when attempting to merge ~9000 revs into the branch (tried 3 times on 2 different computers) - If someone wants to delete aicom-network-fixes, they are welcome to - Lesson learned: Letting a branch get thousands of revs out of date is a horrible idea svn path=/branches/aicom-network-branch/; revision=44353
42 lines
1.8 KiB
C
42 lines
1.8 KiB
C
/*
|
|
* Austin---Astonishing Universal Search Tree Interface Novelty
|
|
* Copyright (C) 2000 Kaz Kylheku <kaz@ashi.footprints.net>
|
|
*
|
|
* Free Software License:
|
|
*
|
|
* All rights are reserved by the author, with the following exceptions:
|
|
* Permission is granted to freely reproduce and distribute this software,
|
|
* possibly in exchange for a fee, provided that this copyright notice appears
|
|
* intact. Permission is also granted to adapt this software to produce
|
|
* derivative works, as long as the modified versions carry this copyright
|
|
* notice and additional notices stating that the work has been modified.
|
|
* This source code may be translated into executable form and incorporated
|
|
* into proprietary software; there is no requirement for such software to
|
|
* contain a copyright notice related to this source.
|
|
*
|
|
* $Id: tree.h,v 1.5 1999/12/09 05:38:52 kaz Exp $
|
|
* $Name: austin_0_2 $
|
|
*/
|
|
/*
|
|
* Modified for use in ReactOS by arty
|
|
*/
|
|
|
|
void udict_tree_init(udict_t *ud);
|
|
void udict_tree_insert(udict_t *ud, udict_node_t *node, const void *key);
|
|
void udict_tree_delete(udict_t *, udict_node_t *, udict_node_t **, udict_node_t **);
|
|
udict_node_t *udict_tree_lookup(udict_t *, const void *);
|
|
udict_node_t *udict_tree_lower_bound(udict_t *, const void *);
|
|
udict_node_t *udict_tree_upper_bound(udict_t *, const void *);
|
|
udict_node_t *udict_tree_first(udict_t *);
|
|
udict_node_t *udict_tree_last(udict_t *);
|
|
udict_node_t *udict_tree_next(udict_t *, udict_node_t *);
|
|
udict_node_t *udict_tree_prev(udict_t *, udict_node_t *);
|
|
void udict_tree_convert_to_list(udict_t *);
|
|
void udict_tree_convert_from_list(udict_t *);
|
|
void udict_tree_rotate_left(udict_node_t *, udict_node_t *);
|
|
void udict_tree_rotate_right(udict_node_t *, udict_node_t *);
|
|
|
|
#define tree_root_priv(T) ((T)->BalancedRoot.left)
|
|
#define tree_null_priv(L) ((L)->BalancedRoot.parent)
|
|
#define TREE_DEPTH_MAX 64
|