[comp.lang.c++] Where is NIHCL?

kgorlen@sapporo.dcrt.nih.gov (Keith Gorlen) (10/16/90)

In article <34888@cup.portal.com> Michael_I_Summers@cup.portal.com writes:
>Apologies in advance for reiterating what must be an often asked question, I
>can't find the answer here at my news site.
>
>Where can I find (FTP site) the latest and greatest NIH C++ class libraries
>by Keith Gorlen? Also, are they 2.x compatible.
>

Revision 3.0 of the NIH Class Library (formerly known as OOPS) is
available via anonymous FTP in the file pub/nihcl.tar.Z on alw.nih.gov
(128.231.128.251).  This version of the library is described by our
book "Data Abstraction and Object-Oriented Programming in C++" by
Keith Gorlen, Sandy Orlow, and Perry Plexico, published by John Wiley
and Sons.

The software distribution kit may also be ordered from the publisher
on two 5-1/4" MS-DOS format diskettes containing UNIX shell archives.

The 3.0 release distribution includes the NIH Class Library, its test
suite, all the example programs described in the book, release notes,
and an installation guide.  The software requires AT&T C++ R2.00,
R2.1, or other R2.0 -compatible compiler.

The highlights of this release include:

o  Classes re-written to take full advantage of C++ R2.0/R2.1 features

o  Optional support for Multiple Inheritance

o  Corrected and more flexible Object I/O facility

o  Improved, more portable implementation of lightweight process classes

o  Port for the Sun SPARC

o  Bug fixes


Here's a list of the classes in Revision 3.0:

NIHCL---Library Static Member Variables and Functions
    Object---Root of the NIH Class Library Inheritance Tree
        Bitset---Set of Small  Integers  (like  Pascal's  type SET)
        Class---Class Descriptor
        Collection---Abstract Class for Collections
            Arraychar---Byte Array
            ArrayOb---Array of Object Pointers
            Bag---Unordered Collection of Objects
            Set---Unordered Collection of Non-Duplicate Objects
                Dictionary---Set of Associations
                    IdentDict---Dictionary Keyed by Object Address
                IdentSet---Set Keyed by Object Address
            SeqCltn---Abstract Class for Ordered, Indexed Collections
                Heap---Min-Max Heap of Object Pointers
                LinkedList---Singly-Linked List
                OrderedCltn---Ordered  Collection of Object Pointers
                    SortedCltn---Sorted Collection
                        KeySortCltn---Keyed Sorted Collection
                Stack---Stack of Object Pointers
        Date---Gregorian Calendar Date
        FDSet---Set of File Descriptors for Use with select(2) System Call
        Float---Floating Point Number
        Fraction---Rational Arithmetic
        Link---Abstract Class for LinkedList Links
            LinkOb---Link Containing Object Pointer
            Process---Co-routine Process Object
                HeapProc---Process with Stack in Free Store
                StackProc---Process with Stack on main() Stack
        LookupKey---Abstract Class for Dictionary Associations
            Assoc---Association of Object Pointers
            AssocInt---Association of Object Pointer with Integer
        Integer---Integer Number Object
        Iterator---Collection Iterator
        Nil---The Nil Object
        Point---X-Y Coordinate Pair
        Random---Random Number Generator
        Range---Range of Integers
        Rectangle---Rectangle Object
        Scheduler---Co-routine Process Scheduler
        Semaphore---Process Synchronization
        SharedQueue---Shared Queue of Objects
        String---Character String
            Regex---Regular Expression
        Time---Time of Day
        Vector---Abstract Class for Vectors
            BitVec---Bit Vector
            ByteVec---Byte Vector
            ShortVec---Short Integer Vector
            IntVec---Integer Vector
            LongVec---Long Integer Vector
            FloatVec---Floating Point Vector
            DoubleVec---Double-Precision Floating Point Vector
    OIOifd---File Descriptor Object I/O readFrom() Formatting
    OIOin---Abstract Class for Object I/O readFrom() Formatting
        OIOistream---Abstract Class for Stream Object I/O readFrom() Formatting
            OIOnihin---Stream Object I/O readFrom() Formatting
    OIOofd---File Descriptor Object I/O storeOn() Formatting
    OIOout---Abstract Class for Object I/O storeOn() Formatting
        OIOostream---Abstract Class for Stream Object I/O storeOn() Formatting
            OIOnihout---Stream Object I/O storeOn() Formatting
    ReadFromTbl---Tables used by Object I/O readFrom()
    StoreOnTbl---Tables used by Object I/O storeOn()

Ordering Info:

"Data Abstraction and Object-Oriented Programming in C++"
Keith E. Gorlen, Sanford M. Orlow, and Perry S. Plexico

	ISBN 047192346X $39.25 (paperback)
	ISBN 047192752X $16.95 (2 disk set)
	ISBN 0471927511 $82.70 (cloth + 2 disk set)

	Customer Service Department
	John Wiley & Sons Limited
	Shripney Road
	Bognor Regis
	West Sussex
	PO22 9SA
	England

If you have any queries please contact:

	John Wiley & Sons Inc
	Distribution Center
	1 Wiley Drive
	SOMERSET
	NJ 08875-1272
	USA
	Tel: (010 1) 201 469 4400
	Fax: (010 1) 201 457 0920

or:

	Helen Ramsey
	John Wiley & Sons Limited
	Baffins Lane
	Chichester
	West Sussex
	PO19 1UD
	England



--
	Keith Gorlen			phone: (301) 496-1111
	Building 12A, Room 2033		uucp: uunet!nih-csl!kgorlen
	National Institutes of Health	Internet: kgorlen@alw.nih.gov
	Bethesda, MD 20892