summaryrefslogtreecommitdiffstats
path: root/source/ubiqx/ubi_SplayTree.h
Commit message (Collapse)AuthorAgeFilesLines
* Minor cosmetic change. I up-cased internal #defines.Christopher R. Hertel1998-06-251-3/+7
|
* It occurred to me that the samba includes.h file should be included in theChristopher R. Hertel1998-06-031-0/+23
| | | | | | | | | | header files used by the ubiqx modules, instead of being hidden in the .c files. This would ensure that anything in includes.h would be "seen" by the ubiqx headers. I also had to put an #ifdef around the includes for ubi_SplayTree.h and ubi_Cache.h in includes.h to prevent the header of the descendant type from being included before its parent type. Chris -)-----
* Changed the mechanism for including the Samba includes.h in the ubiqx codeChristopher R. Hertel1998-06-021-0/+3
| | | | | | | | | | | | | | | | to something less hurried, simpler, and (I believe) more acceptable to all. The ubi_*.c files all now #include sys_include.h which, for Samba, contains only comments and the line #include "../includes.h" That will make sure that the Samba header is there, allows me to distribute a different default header with the main ubiqx set, and allows others to write their own sys_includes.h for their own purposes. Thanks to Andrew and Jeremy for hammering this out with me. Chris -)-----
* Along the lines that Andrew suggested, I added a header called ubi_null.h.Christopher R. Hertel1998-05-211-1/+4
| | | | | | | | | | | This header tries four different locations for a definition of NULL. If NULL still hasn't been found, it defaults to ((void *)0). All of the includes can be, essentially, overridden by defining NULL on the command line, as in -DNULL=((void *)0). I have faith that this will avoid the problem of NULL being in different places on different systems. If there is a system out there that doesn't define NULL in any of the headers I've included, then let me know *where* it's defined and I'll add another header. Chris -)-----
* Updates to all of these base level modules.Christopher R. Hertel1998-03-101-10/+13
| | | | | | | | | | | | | | | | | | | Trees: Previously, the AVL node type was different than the node type used in the BinTree and SplayTree modules. It requires an additional field to maintain AVL balance information. I merged that field into the base type (in ubi_BinTree.h) so that all three use the same node type. On most systems this will have zero effect on the node size, due to word alignment. The change allowed me to remove a bigbunch of redundant code, which makes the AVL module smaller and cleaner. Linked Lists: I combined ubi_StackQueue into ubi_sLinkList. The interface has changed a tiny bit. I added macros to ubi_dLinkList to round it out a bit. I have verified that the few Samba modules that use these tools (so far) do not have any problems with the changes. Chris -)-----
* Backed out changes that attempted to address a pointer array using -1,0,1.Christopher R. Hertel1997-12-241-9/+64
| | | | Jeremy pointed out that there might be problems with this. Darn shame.
* While working on a general-purpose caching module (out soon), I thought ofChristopher R. Hertel1997-12-111-59/+10
| | | | | | a better way to handle the node pointer array used in ubi_BinTree. The change simplified the code a bigbunch. It also forced updates to all of the binary tree modules. CRH
* Modified Files:Christopher R. Hertel1997-10-301-0/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ubiqx/Makefile ubiqx/README.UBI Added new modules to the Makefile. Changed the text of the README to reflect the directory change. Added Files: ubiqx/ubi_AVLtree.c ubiqx/ubi_AVLtree.h ubiqx/ubi_BinTree.c ubiqx/ubi_BinTree.h ubiqx/ubi_SplayTree.c ubiqx/ubi_SplayTree.h ubiqx/ubi_StackQueue.c ubiqx/ubi_StackQueue.h ubiqx/ubi_sLinkList.c ubiqx/ubi_sLinkList.h This is the remainder of the toolkit. A quick rundown: sLinkList = A simple singly-linked list. StackQueue = Implements both a stack and a queue. dLinkList = (Not added 'cause it's already there.) A doubly-linked list. BinTree = Base level binary tree module. (No height balancing, just the basics.) AVLtree = Descendant type of BinTree. Implements a height-balanced (AVL) binary tree. SplayTree = Descendant type of BinTree. Implements a splay-balanced binary tree. Renamed Files: ubiqx/COPYING.LGPL ==> ubiqx/COPYING.LIB This matches the naming that GNU suggests.
* I got fed up trying to put the tree and list stuff into a subdirectory,Christopher R. Hertel1997-10-161-335/+0
| | | | so I've started to move them into the main directory.
* This is the ubiqx binary tree and linked list library.Christopher R. Hertel1997-10-101-0/+335
This library is being included as part of the Samba distribution. (Hurray!)