beck@hermod.cs.cornell.edu (Micah Beck) (12/05/89)
In article <4280@pegasus.ATT.COM> psrc@pegasus.ATT.COM (Paul S. R. Chisholm) writes: >In article <34623@cornell.UUCP>, beck@hermod.cs.cornell.edu (Micah Beck) writes: > ... >> I would like to use the Oops library of objects, but it is labeled >> as written for C++. > >Yup. You'll need some implementation of the C++ language. (It's >called the NIHlib nowadays, which I think is a nice pun. It was >developed at the National Institutes for Health, and it helps fight the >dreaded "Not Invented Here" syndrome.) Then I assume that the version I have, which calls itself Oops, not NIHlib, is not the latest and greatest version. Where can I get the latest and greatest version of NIHlib? Micah Beck Cornell CS
keith@suntory.dcrt.nih.gov (keith gorlen) (12/06/89)
Revision 2.204 of the NIH Class Library (formerly known as OOPS) is available via anonymous FTP in the file pub/nihcl-2.204.tar.Z on alw.nih.gov (128.231.128.251). This is a pre-release of Revision 3.0, which will be the version of the library described by our forthcoming book "Data Abstraction and Object-Oriented Programming in C++" by Keith Gorlen, Sandy Orlow, and Perry Plexico (ISBN 0471 92346 X), currently scheduled for publication in June, 1990 by John Wiley and Sons. The 2.204 pre-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 or other R2.0 -compatible compiler. Revision 2.204 fixes some minor bugs in 2.203, adds support for copying objects that contain instances of virtual base classes, and updates the example programs to correspond to those sent to the publisher. The highlights of this release include: o Classes re-written to take full advantage of C++ R2.0 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 Bug fixes Here's a list of the classes in Revision 2.204: 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() Keith Gorlen phone: (301) 496-1111 Building 12A, Room 2033 uucp: uunet!nih-csl!keith National Institutes of Health Internet: keith@alw.nih.gov Bethesda, MD 20892