packages icon
 /////////////////////////////////////////////////////////////////////////////
 Copyright 1993 by EZ Software 

 Permission to use, copy, modify, and distribute this software and its
 documentation for any purpose and without fee is hereby granted, provided 
 that the above copyright notice appear in all copies and that both the 
 copyright notice and this permission notice appear in supporting 
 documentation, and that the name of EZ Software 
 not be used in advertising or publicity pertaining to distribution of the 
 software without specific written prior permission. 
 EZ Software makes no representations about the 
 suitability of this software for any purpose.  It is provided "as is"
 without express or implied warranty.

 EZ Software DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, 
 IN NO EVENT SHALL EZ Software BE LIABLE FOR ANY SPECIAL,
 INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES RESULTING FROM LOSS OF USE,
 DATA OR PROFITS, WHETHER IN AN ACTION CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 
 SOFTWARE.
 ////////////////////////////////////////////////////////////////////////////

 Terminology
 -----------
 ./ means current directory.
 >  means prompt.

 1. Install:
 -----------

  ./datalib -+-- stack
             |
             |-- linklist
             |
             |-- queue
             |
             +--- examples

 from the directory into wish you want the datalib directory to be created 
 > gzip -d datalib1.01.tgz
 > tar -xvf datalib1.01.tar

 should have > ./datalib
               ./datalib/linklist created
               ./datalib/stack    created
               ./datalib/queue    created

 There is one makefile in the linklist, stack and queue
 directory that creates the individual linklist.o, stack.o and
 queue.o.
 I have also included another makefile in the datalib directory 
 that allows you to create the datalib library.

 This allows you in the future to have datalib for linking. If you
 gather other data structures, feel free to add them to the datalib,
 or to add the data structures to other library. ( up to your
 convenience).

 After installing the files, just do a make using the appropriate makefile
 > make -f makefile

 2. Documentation:
 -----------------
 For information on how to use the library's functions, read the .doc files
 in each subdirectory.
 The examples (or should I say the example) in the examples directory
 may give you an idea on how to use the library. The stack and queue
 types are good examples on how some data type can be derived directly
 from the linklist type.
 Note that the linklist is the place where I put most of the functionality.

 3. How to use the libary:
 -------------------------
 You can copy the libdatalib.a file to your library directory, or
 leave it in the datalib directory and add the path to you compiler 
 option. (ie for gcc gcc -L$(DATALIB_PATH) -ldatalib).
 For the name of the library use datalib and not libdatalib. (lib
 is added to the front of the name).
 There is a datalib.h file that includes stack.h,queue.h,linklist.h.
 Make sure you add the include path to the command line. 
 (ie gcc -i$(DATALIB_PATH)).
 Feel free to use the lib at your convenience. There is no better setup,
 just one that you feel more confortable with.

 4. Future development:
 ----------------------
 In the near future, I will be adding btree, hashing and other data type
 support. I would also like to add disk support for creating large data
 structure (This has been added to the link list).
 Add C++ support, but in a longer future. 
 Also, these functions will be soon available under Microsoft Window. 
 (I have to change the alloc functions, and add the proper 
 defines in the header). 
 
 in the working.
   adding support for graph.
   adding some binary tree indexes.
   adding load and save to every data structure.
   provide user defined sort function for insertion. (limited to one per
   object).
   port to microsoft window.
   estimated release date 08/31/95. version 2.0


 IF YOU WISH TO CONTRIBUTE TO THIS EVOLVING LIBRARY, FEEL FREE TO CONTACT
 ME at chavey@cis.udel.edu.
 Thank you.

datalib release 1.05  06/01/95
-----------------------------
   FIXES & IMPROVEMENTS:
   ---------------------
   - at last made the queue and stack type derived from the linklist.
   - added llload and llsave.
   - added support for parameter validation.
   - changed defines for error code to be <= 0.
   - added support for greater and less in llfind.
   - fixed a bug in the stack stkpop.
   - renamed the queue function, and added macros.

   COMPATIBILITY:
   --------------
   - no api modification. (unless interrested in error codes).
   - the queue has only new name (qdequeue and qenqueue).
     the parameters are the same.

datalib release 1.03, 1.04  04/13/95
-------------------------------------
   FIXES & IMPROVEMENTS:
   ---------------------
   - fixed bugs with circular link list getwnext.
   - added support for querry types in llfind.

   COMPATIBILITY:
   --------------
   - the find function needs to be altered to accept an interger
     for the querry type. this can be LLLESS, LLGREATER, LLEQUAL.
     Also llfind has now an extra parameter.

datalib release 1.02  10/13/94
-----------------------------
   FIXES & IMPROVEMENTS:
   ---------------------
   - added support circular link list in llgetwprev, llgetwnext.
   - added functionality for multiple compare functions.
   - added support for adding at random.
   - standardized parameters and error define.
   - better prototypes.
   - corrected error in lladd.
   - corrected on major error with lldelete. 

   COMPATIBILITY:
   --------------
   - all the functions are compatible with llist.1.0 but llnew, 
     added a parameter and lladd, modified parameter 3 from 
     the nSize of the data to the place where to insert the data
     in the list.
   - all the stack and queue functions are new.
	- note that the queue and stack are standard data type. If one
	  whishes to implement priority queue,stack, it is possible
	  to do so using the linklist data type. Some may comment on
	  the fact the the queue does not use the linklist as a base
	  and this is justified, one update that will be coming is the
	  replacemenmt of the queue definition by one derived from linklist.

datalib release 1.01  05/10/94
-----------------------------
   FIXES & IMPROVEMENTS:
   ---------------------
   - added support for stack and queues.

   COMPATIBILITY:
   --------------
   - entirely compatible with datalib release 1.00.