2006-10-10 12:31:16 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS System Libraries
|
|
|
|
* FILE: lib/rtl/austin/avl.h
|
|
|
|
* PURPOSE: Run-Time Libary Header (interface to austin AVL tree)
|
|
|
|
* PROGRAMMER: arty
|
|
|
|
*/
|
|
|
|
|
2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2006-10-10 12:31:16 +00:00
|
|
|
|
|
|
|
#define avl_data(x) ((void*)(&(x)[1]))
|
|
|
|
|
|
|
|
void avl_init(PRTL_AVL_TABLE table);
|
2006-10-14 17:29:41 +00:00
|
|
|
void avl_deinit(PRTL_AVL_TABLE table);
|
2006-10-10 12:31:16 +00:00
|
|
|
void avl_insert_node(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
|
|
|
|
void avl_delete_node(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
|
|
|
|
int avl_is_nil(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
|
|
|
|
PRTL_BALANCED_LINKS avl_first(PRTL_AVL_TABLE table);
|
|
|
|
PRTL_BALANCED_LINKS avl_last(PRTL_AVL_TABLE table);
|
|
|
|
PRTL_BALANCED_LINKS avl_next(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
|
|
|
|
|
|
|
|
int avl_search
|
2007-10-19 23:21:45 +00:00
|
|
|
(PRTL_AVL_TABLE table,
|
|
|
|
PVOID _key,
|
|
|
|
PRTL_BALANCED_LINKS node,
|
2006-10-10 12:31:16 +00:00
|
|
|
PRTL_BALANCED_LINKS *where);
|