CHANGES BETWEEN OOPS V2R2 AND NIHCL R3.0
This section highlights the most significant changes that have been made since the previous release. It is by no stretch of the imagination complete.
Subsections
Library name changed from "OOPS" to "NIH Class Library" (NIHCL)
Class NIHCL
Optional support for multiple inheritance
DECLARE_MEMBERS macro
New implementation of Process classes
External class_classname identifiers eliminated
Changes to Object I/O
Public readFrom() constructor
Changes to readFrom()
istream& replaced by OIOin&
ostream& replaced by OIOout&
Automatic separators output by OIOostream::operator<<()
FileDescTy& replaced by OIOifd&/OIOofd&
Change to readFrom(OIOin&)
storeBin() replaced by OIOofd::operator<<() and OIOofd::put()
readBin() replaced by OIOifd::operator>>() and OIOifd::get()
read_Cstring() replaced by OIOin::getCstring()
store_Cstring() replaced by OIOout::putCstring()
READ_OBJECT_AS_BINARY eliminated
STORE_OBJECT_AS_BINARY eliminated
Changes to the DEFINE_CLASS macro
DEFINE_ABSTRACT_CLASS
Change to Class::className()
New member functions of class Class
Changes to copy(), shallowCopy(), and deepCopy()
New function dumpOn() and changes to printOn()
Changes to class Link
Constructor Link(const Link&) changed to Link(Link*)
New function isListEnd()
Changes to class Iterator
Changes to class Dictionary
const arguments to member functions
Change to Bag::remove(const Object&)
shouldNotImplement() functions now private
Change to class Stack
Changes to class Heap
Changes to class LinkedList
Changes to class LookupKey
Changes to class Arraychar
Changes to class Assoc
Changes to class AssocInt