		 File: esoteric.zip
	   Author: William Adams (wadams@be.com)
	  Release: 970911
Compatibility: Preview
	 Location: pub/samples/preview/bebits.zip
  Description: A bunch of useful C++ classes
		Notes:

Name - Esoteric Library
Author - William Adams (wadams@be.com)
Release - 970911

This is the esoteric library.  As the name implies, this is a
set of objects that do very esoteric and mundane things.
No C++ developer should have to waste their time doing this
sort of stuff.  Thus, this library exists.  It is comprised of a
number of template implementations of standard data structures and
routines.  It also includes a set of time, distance, and other
classes.

There are many class libraries and template libraries that
exist in the world.  STL is the one that all compiler
manufacturers should be including in their systems real soon
now.

The purpose of this set is just to throw one more into the
ring.  I have found that several of the existing libraries
are too cumbersome for my liking.  So I try to maintain a
minimal amount of useful functionality.


You will find a number of standard things like:

string              A very basic functional string class
ASequenceOf         Like an array with a different name
ABitSequence        A Sequence of bits
ACharSet            A specialized sequence of bits
AIterator           Iterator over a sequence
AListOf             A list as opposed to a array based sequence
AQueueSequenceOf    A queue based on a fixed size sequence

Searching Routines
	Linear Search   Searches a sequence for an element

Sorting Routines
	BubbleSort      Sorting using the slow bubble sort
	SelectionSort   Sorting using selection sort
	InsertionSort   Sorting using insertion sort
	QuickSort       Sorting using the very fast quick sort

OS Kernel Routines
	ACondition      A condition object
	AThread         A sub-classable thread class

USAGE

The files should be fairly self explanatory if you have used
templates in C++ before.  If you haven't, then you should buy
a good book on the language and then this will become more
apparent.  The file test.cpp shows some samples of how to simply
use some of the templates.  It doesn't do anything in particular,
it was primarily used to help us flush out compile errors.

You can probably just include the files that you need into whatever
project you are working on.  Or put the headers in a good place where
they will be found automatically.

If you're not a big templates fan, then the easiest thing to do would
be to copy and paste the code into another file and do a global find
and replace on 'AType' making is specifically the type that you want
to hard code for.  The routines remain the same.

