lomow@calgary.UUCP (Greg Lomow) (05/04/87)
Could somebody e-mail me a really good linked list package written in C++ (something like Simula's SIMSET would be fine but if you have anything you think is better then send it too). While we're on the subject, does anyone have a really good package and base classes for manipulating trees? Greg Lomow lomow@cpsc.calgary.cdn or ....![ubc-vision,ihnp4]!alberta!calgary!lomow
lomow@calgary.UUCP (05/08/87)
In article <903@vaxb.calgary.UUCP>, lomow@calgary.UUCP (Greg Lomow) writes: > > Could somebody e-mail me a really good linked list package > written in C++ (something like Simula's SIMSET would be fine > but if you have anything you think is better then send it too). > > While we're on the subject, does anyone have a really good package > and base classes for manipulating trees? > After I posted the above request a friend of mine at this site read the request and pointed out to me that it sounds like I want the readers of comp.lang.c++ to do my work for me. This wasn't my intention. I have written quite alot of C++ code but I have not found a completely satisfactory way of writing a linked list package that is easy to extend but which still permits tight data checking of the elements placed on the list and which requires a minimum of casting when using the elements on the list (virtual functions do not always fit the bill). My intention was (and still is) to solicit examples of C++ packages from net readers so I could see what kind of solutions other people have adopted. Greg Lomow -- lomow@cpsc.calgary.cdn or ....![ubc-vision,ihnp4]!alberta!calgary!lomow
gore@nucsrl.UUCP (Jacob Gore) (05/11/87)
>/ nucsrl:comp.lang.c++ / lomow@calgary.UUCP (Greg Lomow) / >In article <903@vaxb.calgary.UUCP>, lomow@calgary.UUCP (Greg Lomow) writes: >> >> Could somebody e-mail me a really good linked list package >> written in C++ [...] >> [...] does anyone have a really good package >> and base classes for manipulating trees? > >After I posted the above request a friend of mine at this site >read the request and pointed out to me that it sounds like I >want the readers of comp.lang.c++ to do my work for me. This >wasn't my intention. Why on earth are you apologizing for wanting to reuse software? Jacob Gore Northwestern University, Computer Science Research Lab {gargoyle,ihnp4,chinet}!nucsrl!gore gore@EECS.NWU.Edu (for now, only from ARPA)
keith@nih-csl.UUCP (05/11/87)
> Could somebody e-mail me a really good linked list package > written in C++ (something like Simula's SIMSET would be fine > but if you have anything you think is better then send it too). > > While we're on the subject, does anyone have a really good package > and base classes for manipulating trees? > The Object-Oriented Program Support (OOPS) class library is a portable collection of classes similar to those of Smalltalk-80 that has been developed using the C++ programming language under the UNIX operating system. The OOPS library includes generally useful data types such as String, Date, and Time, and most of the Smalltalk-80 collection classes such as OrderedCltn (indexed arrays), LinkedList (singly-linked lists), Set (hash tables), and Dictionary (associative arrays). Arbitrarily complex data structures comprised of OOPS and user-defined objects can be stored on disk files or moved between UNIX processes by means of an Object I/O facility. Classes Process, Scheduler, Semaphore, and SharedQueue provide multiprogramming with coroutines. Here's the hierarchy of the OOPS classes implemented in Version 1, Release 2: Object -- Root of the OOPS Class Inheritance Tree Bitset -- Set of Small Integers (something like Pascal's type SET) Class -- Class Descriptor Collection -- Abstract Class for Collection Functions Arraychar -- Byte Array String -- Character String Arrayobid -- 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 ID SeqCltn -- Abstract Class for Ordered, Indexed Collections LinkedList -- Singly-Linked List OrderedCltn -- Ordered Collection of Object Pointers SortedCltn -- Sorted Collection of Objects Stack -- Stack of Object Pointers Date -- Calendar Date Float -- Floating Point Number Object Fraction -- (Toy) Rational Arithmetic Link -- Abstract Class for LinkedList Links Linkobid -- Link Containing Object Pointer Process -- Co-routine Process Object LookupKey -- Abstract Class for Dictionary Associations Assoc -- Association of Object Pointers AssocInt -- Association of Object Pointer with Integer Integer -- Integer Number Object Nil -- The Nil Object Point -- X-Y Coordinate Pair Random -- Uniform Random Number Generator Rectangle -- Rectangle Scheduler -- Co-routine Process Scheduler Semaphore -- Process Synchronization Class SharedQueue -- Shared Queue of Objects Time -- Time of Day Vector -- Abstract Class for Math Vector Functions BitVec ByteVec ComplexVec DoubleVec FloatVec IntVec LongVec ShortVec Current Status: The Vector classes are still experimental and are not being distributed at this time. OOPS has been ported to MASSCOMP's Real-Time UNIX, Sun-3, 4.2 BSD on the VAX, and ACIS 4.2 on the IBM RT-PC. To get a copy of the "guru-only" version of OOPS, just send me a letter on your company or university letterhead requesting the "Object-Oriented Program Support (OOPS) class library for C++" and a reel of 1/2" mag tape (a small reel will suffice). I'll return the tape with a copy of OOPS recorded on it in tar format at 1600 bpi, and I'll include a copy of the (incomplete) OOPS reference manual. -- Keith Gorlen phone: (301) 496-5363 Building 12A, Room 2017 uucp: seismo!elsie!nih-csl!keith National Institutes of Health Bethesda, MD 20892
phm@stl.UUCP (05/13/87)
I noticed that the OOPS class library described in article 167 has classes which provide multiprogramming with coroutines. Are there any other packages around useful for handling concurrency? -- Regards, Peter Mabey (phm@stl ...!mcvax!ukc!stl!phm +44-279-29531 x3596)