This is version 1.25.0 of libg++, the GNU C++ class library.

* Contents

    * g++ source files are this directory
    * Some simple tests and demo programs are in ./tests
    * Header files are in g++-include
    * generic class prototypes are in g++-proto
    * documentation is in ./libg++.texinfo. You may convert this into
      an emacs Info file by editing the file and typing `texinfo-format-buffer'
    * Some miscellaneous files of possible interest are in ./etc
      (These files are not officially a part of the libg++ distribution,
      and are subject to arbitrary changes, deletions, etc. from release
      to release.)

* Installation (see libg++.texinfo more more details)

    * The current g++ release does not allow automatic linking of
      libg++ with the math library, which is needed by some libg++
      functions. The easiest way to deal with this is to use -lg++ -lm
      at the end of g++ compile commands to force a scan of libg++.a
      followed by the math library before the default scan.

    * Read through the file ./libconfig.h to check 
      system-dependent parameters used in .cc files. You should
      also check through g++-include/stdio.h,  g++-include/math.h
      and g++-include/values.h

    * If you want to run test0, check the paths in ./test0.h if you
      installed things somewhere other than /usr/local/lib

    * similarly, if you installed g++-proto somewhere other than
      /usr/local/lib, check the path in the genclass shell script.

    * type 

       `make installincl'  -- to install g++-include and related files
       `make test0'        -- to make a test of your version of g++
       `test0'             -- to run the test program
       `make libg++.a'     -- to make and install libg++.a

       `cd tests; make'    -- to make some simple tests/demos of libg++ 
       `test1'             -- File-based classes
       `test2'             -- Obstacks
       `test3'             -- Strings
       `test4'             -- Integers
       `test5a'            -- wrappers
       `test5b'            -- generic types via macros; wrappers
       `test6'             -- Rationals
       `test7'             -- Complex numbers
       `test8'             -- BitSets and BitVecs
       `test9'             -- BitStrings
       `test10'            -- random number classes
       `test11'            -- generic Lists
       `test12'            -- Ordered list sets
       `test13'            -- linklist-based classes
       `test14'            -- vector classes
       `test15'            -- Pairing Heaps
       `test16'            -- Chained hash tables
       `test17'            -- Simple hash tables
       `test18'            -- Binary tree classes
       `test19'            -- Ordered vector set classes
       `test20'            -- AVL tree classes


* changes from libg++-1.22.2

  * All reported errors from the previous release are fixed, and many
    suggested modifications have been performed. Thanks to all who
    have sent bug reports and comments, including those with mail
    addresses that I have not been able to reply to. (My mail connections
    are sometimes more than a little fragile. If you send me mail and
    I have not replied within a few days, you may want to try again. Sorry.)

  * A serious problem in the use of Obstacks by conversion functions 
    has been repaired.

  * A bug in maintaining reference counts on `find' and related operations
    in List prototype classes has been fixed.

  * Strings now support self case manipulation in addition to the
    functional versions.

  * Some new functions have been added to builtin.[h.cc]. All are now
    documented in libg++.texinfo

  * Overload declarations are now performed in std.h and math.h,
    rather than builtin.h,  to eliminate some include file ordering
    problems.

  * Random, RNG, and SampleStatistic classes are available,
    thanks to Dirk Grunwald.

  * A BitVec class is available.

  * The are many new generic container class prototype files. These
    support container classes based on elementary data structures
    (and a couple of non-elementary ones). Please read the documentation.

  * Class prototype OSet has been modified and renamed OLSet.

  * The genclass utility has been modified

* Lots of other information is in the libg++.texinfo file. It really is
  very important to actually read the documentation before using 
  library classes. Examination of the demo files in the test directory
  may also be useful. (Note however, that the demo files are merely
  designed to provide one small test example of each class capability,
  and are not especially good examples of client functions that might
  use these classes.)

* You will be performing a valuable service if you use libg++
   classes and report back any bugs, comments, and suggestions.
   Your feedback is extremely helpful in efforts to make libg++ 
   as useful and reliable as possible.

* See file `etc/release.log' for changes from previous versions

* Please read and respond to `./etc/stream.survey'

* If you are a systems administrator installing libg++ for others,
    please make the documentation (libg++.texinfo) and test files
    available to users!

* I continue to solicit

  * bug reports.
  * suggestions.
  * comments.
  * questions about installing and using libg++
  * other contributions to be incorporated into libg++.
  * sample programs using libg++.

* Good luck!

Doug Lea, Computer Science Dept., SUNY Oswego, Oswego, NY, 13126 (315)341-2367
email: dl@rocky.oswego.edu        or dl%rocky.oswego.edu@nisc.nyser.net
UUCP :...cornell!devvax!oswego!dl or ...rutgers!sunybcs!oswego!dl
