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

* Contents

    * g++ source files and a few test programs are this directory

    * Header files are in g++-include

    * documentation is in libg++.texinfo. You may convert this into
      an emacs Info file by editing the file and typing `texinfo-format-buffer'

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

    * 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

    * type 

       `make installincl'  -- to install g++-include 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
       `make tests'        -- to make some simple tests/demos of libg++
       `test1'             -- to test File-based classes
       `test2'             -- to test Obstacks
       `test3'             -- to test Strings
       `test4'             -- to test Integers
       `test5a'            -- to test wrappers
       `test5b'            -- to test generic types and wrappers
       `test6'             -- to test Rationals
       `test7'             -- to test Complex numbers
       `test8'             -- to test BitSets
       `test9'             -- to test BitStrings


* changes from libg++-1.21.1

  * All documentation is in a stand-alone texinfo file, libg++.texinfo,
    and is on its way to becoming a decent piece of documentation.

  * 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.)

  * New Complex, BitSet, and BitString classes are available. You will
    be performing a valuable service if you try these out and report
    back any bugs/comments/suggestions about these or any other classes.

  * File `values.h' has been added. This contains various system
    constants like the number of bits per long, etc. It contains
    much of the same information as sun <values.h>, although a
    few names and things differ slightly.

  * Files `builtin.h', `builtin.cc', and `convert.cc' have been added.
    `builtin' contains common inline and non-inline functions on
    builtin types (like `abs'). `convert' contains code for performing
    IO and char* conversions, mainly via Obstacks. Most of these
    functions are not new -- they have been collected from other .h
    and .cc files.

  * Files `std.h' and `math.h' now declare all libc.a C functions 
    in a way that allows any of them to be overloaded in C++.

  * Strings and Integers now perform expansion via realloc() -- 
    see libconfig.h about whether you should #define SHOULD_FREE_TO_REALLOC.

  * `eatwhite' is supported for istreams.

  * File::getline(String, ...) and get(String) have been removed in order to
    maintain greater independence of different classes.

  * Strings now provide substring matching via new versions of
    `contains' and `matches', `common_prefix' and `common_suffix'.
    Also, there is more support for case operations via `fcompare', etc.
    The versions of `decompose' that do not deal with Regexes have
    been deleted since they provide little functionality over other
    operations. Also, a few special case functions dealing with char*'s
    have been deleted since the required constructors are necessary
    anyway. Several other corrections have been made in String.cc,
    including the elimination of a few aliasing problems.

  * The implementations of Integers and Rationals are now both much
    more efficient and well-tested, while remaining machine independent.
    A few minor visible features have been added and/or changed.
        
  * The `box' command in PlotFile is now simulated, whether or not
    it is present in libplot.a

  * The inlining-only-if-optimizing feature is still not fully implemented.
                 

* Lots of other information is in the libg++.texinfo file       


* I am pleased to note that a few people have recently volunteered to
    contribute code to libg++. Perhaps the next release will contain
    some of these contributions.


* I continue to solicit

  * bug reports.
  * suggestions
  * comments
  * questions about 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@devvax.tn.cornell.edu 
UUCP :...cornell!devvax!oswego!dl or ...rutgers!sunybcs!oswego!dl
