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