[comp.std.c++] Is there a standard class library???

einstein@wam.umd.edu (Daniel J. Levine) (11/07/90)

Is there a free Class Library out there which is
portable from one C++ implementation to another?

I'm looking for something like a bunch of data
structures which have already been implemented
in such a way that I can just include them and
start using them.  I want to be able to define my
own objects, and throw them into fully debugged
linkedlists, stacks, trees, etc!  Turbo C++ v1.0
has something just like this, but I can't seem to
take things I write with it and port them to Gnu's
G++ compiler... It's not the fact that the code is
unportable; it's the fact they have some already
compiled object library called: classlib.lib  which
of course won't port from a PC archictecture to 
a Unix one.  In truth, the ideal situation would
be to port Turbo C++ v1.0's Class Libraries to
Gnu G++.  Can anyone help me with that?

Since this may be an impossibility, is there an ftp site
I can goto to and get such a libraray and compile it myself?

I would think that such a thing exists, since
one of the goals of the language is to re-use
code!  But, hey...I might be wrong.   :-)

Thanks for your help.

Emc2
--
_______________________________________________________________________
Joe Sample - University of Merryland, College Park
jsample@wam.umd.edu (This is a sample signature file)

metz@bolek.iam.unibe.ch (Igor Metz) (11/08/90)

In article <1990Nov7.132313.11181@wam.umd.edu>, einstein@wam.umd.edu
(Daniel J. Levine) writes:
|>G++ compiler... It's not the fact that the code is
|>unportable; it's the fact they have some already
|>compiled object library called: classlib.lib  which
|>of course won't port from a PC archictecture to 
|>a Unix one.  In truth, the ideal situation would
|>be to port Turbo C++ v1.0's Class Libraries to
|>Gnu G++.  Can anyone help me with that?

Why not the other way: porting libg++ to TC++. Libg++ is free and should
compile
with a cfront 2.0 compliant compiler. I have not tried yet, since got my
copy of TC++ only 2 days ago. Anybody out there who tried?
                                 
Igor Metz
Institut fuer Informatik und angew. Mathematik, Universitaet Bern, Switzerland.
domainNet: metz@iam.unibe.ch               Phone: (0041) 31 65 49 90
ARPA:      metz%iam.unibe.ch@relay.cs.net  Fax:   (0041) 31 65 39 65

ericr@hp-vcd.HP.COM (Eric Ross) (11/10/90)

The sources for classlib.lib are included with Turbo C++ 1.0.  They
also appear to be fairly generic w/r to the OS.

Eric Ross
ericr@hpvcper.vcd.hp.com

rmartin@clear.com (Bob Martin) (11/11/90)

In article <1990Nov7.132313.11181@wam.umd.edu> einstein@wam.umd.edu (Daniel J. Levine) writes:
>Is there a free Class Library out there which is
>portable from one C++ implementation to another?
>

Yes, there are many.  I am sure that I don't know all of them, but 
I will tell you about the ones that I know of.

First there is the class library put together by the National 
Institute of Health.  It is called the NIH Class Library.  This is
a very comprehensive, complete, and LARGE class library.  It has
a base OBJECT class which imposes lots of rules on derived classes.
It is frought with macros which standardize the declaration of
new classes.  It supports multiple inheritance and uses standard
c++ 2.0.  I am currently attempting to port this package to the SPARC,
and am having some trouble  (Help from the net?).  You can get this
package from uunet, it is in the gnu directories called nihcl (I
think).

GNU has a class library for its g++ compiler.  g++ is similar to
standard c++ 1.x, but there are some extensions and differences.
the libg++ class library makes some use of these extensions.  I
have scanned this library, and have found it to be very comprehensive,
yet smaller and more maneuverable than NIH.  It is missing 
coroutine classes but not much else.  It comes with a tool for
building parameterized container types.  (so does NIH)

There is a company named "Empathy inc" (I think) which makes a 
simple little class library named Classix.  This appears to be
well thought out, lightweight, and useful.  However they appear to
be having some availability problems, since I have not yet received
the SPARC version which I ordered some months ago.  

The book "C++ Techniques & Applications" by Scott Robert Ladd, published
by M&T books contains the source code for a functional little class
library.  It is very lightweight, but sometimes light is better.  I was
pleased to find a PC disk in the back of my copy of the book with the
source code for the classes.  

I suggest a subscription to "The journal of Object Oriented
Programming" and the "C++ Report".  These periodicals have adds for
lots of products including class libraries.

											rm


-- 
+-Robert C. Martin-----+---------------------------------------------+
| rmartin@clear.com    | My opinions are mine.  They aren't anybody  |
| uunet!clrcom!rmartin | elses.  And thats the way I want to keep it.|
+----------------------+---------------------------------------------+

henry@zoo.toronto.edu (Henry Spencer) (11/13/90)

In article <1990Nov8.084857.10663@chx400.switch.ch> metz@iam.unibe.ch (Igor Metz) writes:
>Why not the other way: porting libg++ to TC++. Libg++ is free ...

Libg++ is free in money but has a significant cost in legal obligations,
more than some people can afford.
-- 
"I don't *want* to be normal!"         | Henry Spencer at U of Toronto Zoology
"Not to worry."                        |  henry@zoo.toronto.edu   utzoo!henry

jbuck@galileo.berkeley.edu (Joe Buck) (11/17/90)

In article <1990Nov10.203547.21413@clear.com>, rmartin@clear.com (Bob Martin) writes:
> GNU has a class library for its g++ compiler.  g++ is similar to
> standard c++ 1.x, but there are some extensions and differences.

Um, the g++ compiler is similar to c++ 2.0, not 1.x.  However, the
streams class provided is similar to the 1.2 streams library from
AT&T.


--
Joe Buck
jbuck@galileo.berkeley.edu	 {uunet,ucbvax}!galileo.berkeley.edu!jbuck