From river!relay1!csoft!kiae!relcom!news.eunet.fi!funic!news.funet.fi!sunic!pipex!demon!trmphrst.demon.co.uk!nikki Wed Nov 17 16:29:14 1993
Newsgroups: comp.lang.c++
From: nikki@trmphrst.demon.co.uk (Nikki Locke)
Path: river!relay1!csoft!kiae!relcom!news.eunet.fi!funic!news.funet.fi!sunic!pipex!demon!trmphrst.demon.co.uk!nikki
Subject: Available C++ libraries FAQ
Followup-To: poster
Reply-To: cpplibs@trmphrst.demon.co.uk
Summary: Contains a list of available C++ libraries, both PD and commercial.
X-Mailer: cppnews news/mail for DOS
Organization: Trumphurst Ltd.
Expires: Sun, 5 Dec 1993 00:00:00 GMT
Lines: 1800
Date: Wed, 3 Nov 1993 12:21:41 +0000
Message-ID: <Nov93c++libsFAQ@trmphrst.demon.co.uk>
Sender: usenet@demon.co.uk

Archive-name: c++libs-faq
Comp-lang-c++-archive-name: c++libs-faq
Last-modified: 1993/11/09

Here is the second draft of a list of available C++ libraries I am 
compiling. I intend to post this monthly (unless there are any 
complaints). I am submitting it for inclusion in news.answers, and 
archival along with all the other Usenet FAQ lists at rtfm.mit.edu.

I have not included a credits list, because it would be nearly as large as
the rest of the file! Many thanks to all those who contributed, and I 
hope you won't be offended that I haven't mentioned you.

Entries are in the order I received them, i.e. totally random. Some future
version might have the entries in alphabetical order, but don't hold your 
breath :-)

If your library isn't mentioned, or you wish to update your entry in this 
list, feel free to mail me the new entry.  Please note that entries will 
be restricted to a couple of paragraphs - if you send me a 100k text file 
giving minute details, I will have to summarise it. It is much easier for 
me if you just send me an entry which is the right size to start with.

Please mail comments, criticisms, additions and amendments to me at
cpplibs@trmphrst.demon.co.uk.

Libraries available via ftp
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Motif++ - Ronald van Loon.
A wrapper-library, that encapsulates Motif widgets in C++ classes. All
resources of these Widgets can now be set through member-functions, while
objects can be used in callback-functions. 

The July 93 release offers:
- Easy configuration (even for non-imake-gurus)
- Full support for X11R4 as well as X11R5
- Full support for Motif 1.1 and Motif 1.2 (including Drag and Drop)
- Support for Xbae widgetset 
- Support for the xpm library
- Percentage widgets
- Generic Widget
- Support for WCL Table Widget
- A library for easy manipulation of Visuals 
- A library that reads PBMPLUS files, as well as providing an extension to 3D
  of the format.
- Lots of demos and testfiles (even somewhat useful programs)
- An article I wrote on the usage of Motif, X and C++, previously posted
  on Usenet.
- all filenames smaller than 14 characters

Requires:
	X11R4 or any later version
	Motif 1.1 or any later version
	C++ compiler, compatible with cfront 2.0 or later
	imake
	a bourne shell (sh, bash, ksh ...) that supports shellfunctions.
	sed

	mail "rvloon@cv.ruu.nl".
	Tel: +31 33 758 293 (if desparate !)

	mailing list : motif++@cv.ruu.nl
	subscriptions : motif++-request@cv.ruu.nl

	ftp from decuac.dec.com: 
	in /pub/X11/motif++.28.jul.93.tar.gz
	or from nrcnet0.nrc.ca (132.246.160.2): 
	in /pub/motif++/motif++.28.jul.93.tar.gz
	or from ftp.wg.omron.co.jp: 
	in /pub/X11/misc/MOTIF.AND.WIDGETS/Motif++.tar.Z 
	or from src.doc.ic.ac.uk:
	in /packages/motif++/motif++.28.jul.93.tar.gz
---------------------------------------------------------
OATH (Object-oriented Abstract Type Hierarchy) was designed
as an experiment in increasing object-oriented reuse.
It has a fairly high learning curve, but potentially 
higher gains if you are looking for a more flexible and
robust abstraction.  It is completely unsupported.

	ftp from csc.ti.com (192.94.94.1)
	in pub/oath.tar.Z
---------------------------------------------------------
COOL (C++ Object-Oriented Library) was designed as an 
experiment in templates and exception handling.  Templates
are implemented via a preprocessor with an advanced macro
capability.  It displays a different set of trade-offs 
from OATH.  It is also completely unsupported.

	ftp from csc.ti.com (192.94.94.1)
	in pub/COOL.tar.Z
---------------------------------------------------------

NIHCL (National Institute of Health's C++ Library) is
essentially a mapping of part of Smalltalk's library
into C++.  It lies somewhere between OATH and COOL.
It is a little better supported and there is a textbook
by the author, Keith Gorlen, that is fairly good documentation.
However, the Smalltalk hierarchy is not completely 
consistent (IMO) with the C++ strong typing nature.
It is weakly supported.

	ftp from alw.nih.gov (198.231.128.251)
	in pub/nihcl.tar.Z
---------------------------------------------------------
libg++ (GNU's C++ library) is probably only relevant if
you are using g++; and if so, you already know about it.
It does have some good implementations of bignum's and
of regular expressions and strings.

	ftp from aeneas.mit.edu (18.71.0.38)
	in pub/gnu/libg++-*
---------------------------------------------------------
InterViews is an excellent GUI class library developed by Stanford
University. Make sure you get v3.1 or later. This library contains
excellent examples of multiple inheritance used profitably. I understand
that InterViews development will not continue past the current version;
author Mark Linton is concentrating his efforts on the X Consortium
Fresco project, which should show up in X11R6. 

	ftp from interviews.stanford.edu
---------------------------------------------------------
Unidraw is a graphical editor building library based on top
of InterViews.

	ftp from interviews.stanford.edu
---------------------------------------------------------
ET++ is a large GUI library and other C++ tools developed
in Europe.

	ftp from ftp.inria.fr
	in gnu/et++-2.0.tar.Z
---------------------------------------------------------
LEDA, A Library of Efficient Data Types and Algorithms, by Stefan N"aher
from Germany. It is available for educatioal purposes but its NOT in the
public domain. 

Provides basic data-types like lists, stacks, queues, trees, sets,
partitions, priority queues and a few others. These are parameterizable
classes, you may add your own datatype and have a priority queue ...
An important datatype is a graph, these are also parameterizable and there
are useful algorithms for them like shortest path, transitive closure,
matching, maximum flow, spanning tree and others, we have implemented a few
algorithms for dealing with perfect graphs, but these ar not part of the
standard library. The latest part deals with computational geometry.

It can be used with C++ compilers which understand templates, such as 
cfront 3.0 and g++ 2.4.5.

	Stefan Naeher
	Max-Planck-Institut fuer Informatik
	Im Stadtwald, 
	6600 Saarbruecken, 
	Germany
	(stefan@mpi-sb.mpg.de)

	ftp from sbsvax.cs.uni-sb.de (134.96.252.31)
	in /pub/LEDA/LEDA-<version>.tar.Z
---------------------------------------------------------
Code from Hansen's C++ Answers book
by      Tony L. Hansen
ref     "The C++ Answer Book", Addison-Wesley, 1990, ISBN 0-302-11497-6

	ftp from netlib@research.att.com
	in c++/answerbook
---------------------------------------------------------
Code from Coplien's, "Advanced C++ Programming Styles and Idioms"
by      James O. Coplien
ref     "Advanced C++ Programming Styles and Idioms", Addison-Wesley, 1992, ISBN

	ftp from netlib@research.att.com
	in c++/idioms
---------------------------------------------------------
Brent's univariate minimizer and zero finder.
by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
ref     G.Forsythe, M.Malcolm, C.Moler, Computer methods for
        mathematical computations.
prec    double
see     c++/serv_cc.shar

	ftp from netlib@research.att.com
	in c++/brent_cc.shar
---------------------------------------------------------
Radix-2 Fast Fourier Transform
by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
prec    single/double
see     c++/lin_alg.shar, c++/serv_cc.shar

	ftp from netlib@research.att.com
	in c++/fft.shar
---------------------------------------------------------
High level vector operations
        Contains the Aitken-Lagrange interpolation over the table of uniform or
        arbitrary mesh, and the Hook-Jeevse multidimensional minimizer.
by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
prec    single/double
see     c++/lin_alg.shar, c++/serv_cc.shar

	ftp from netlib@research.att.com
	in c++/hl_vector.shar
---------------------------------------------------------
basic linear algebra classes
by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
prec    single/double
see     c++/serv_cc.shar

	ftp from netlib@research.att.com
	in c++/lin_alg.shar
---------------------------------------------------------
A couple of functions that ought to be in the standard
C++ environment;
- Updated G++ class File that allows now for the file name to
  include pipes, say,
    File in_file("zcat aaa.Z |","r");
- Resource facility, or managing global "private" parameters
  that specify various program "options". It helps keep
  reasonable number of arguments in function calls.
by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>

	ftp from netlib@research.att.com
	in c++/serv_cc.shar
---------------------------------------------------------
C++ implementation of differential algebra
by      Leo Michelotti <michelotti@adcalc.fnal.gov>
This is temporarily unavailable while we resolve the question of whether
inclusion of codes from Numerical Recipes makes distribution illegal. 

	ftp from netlib@research.att.com
	in c++/mxyzptlk.shar
---------------------------------------------------------
ParLib++, Parallel Programming Classes for C++:

	David Greco
	David.Greco@crs4.it
---------------------------------------------------------
P++, Parallel Programming Classes for C++:

	Dan Quinlan
	danq@lemond.colorado.edu
---------------------------------------------------------
"C* in C++", Parallel Programming Classes for C++:

	Terry Bossomaier
	terry@arp.anu.edu.au
---------------------------------------------------------
pC++ is a preprocessor for C++ that implements a data parallel
extension. Machines currently supported are CM5, paragon, KSR-1,
sequent, BBNTC2000 (and soon ibm sp1, and cray t3d), as well as in
uniprocessor mode on most workstations.

	gannon@cs.indiana.edu
---------------------------------------------------------
DoPVM - a class built on PVM, for message passing environments.

	Skip Hartley
	skip@mathcs.emory.edu
---------------------------------------------------------
The SPLASH c++ class library

(Small Perl-like List And String Handling class library)

SPLASH is a c++ class library that implements favourite Perl
constructs.

For those not familiar with Perl, it is an excellent scripting language
by Larry Wall and is available for most platforms.

This Class library provides List and String handling capabilities based
on those provided in Perl, because the Perl constructs are so useful.

This is also available as a compressed tar file or .zoo format with MSDOS
compatible names. 

	morris@netcom.com
	jegm@sgi.com

	ftp from netcom.com
	in ~ftp/pub/morris/splash.tar.Z
	and ~ftp/pub/morris/splash.zoo
---------------------------------------------------------
Telstra International is making available publicly, the OTC Software
Environment (OSE). We ask you not to redistribute this software in source
or binary form without our permission. 

The package consists of two C++ class libraries, a build environment
based on GNU make, programs for documentation extraction and other
miscellaneous tools. 

Support is also included within the make environment and libraries for
some third party products. These include: 

    Purify/Quantify/PureLink
    ObjectStore OODBMS

The C++ libraries use templates compatable with AT&T C++ 3.0. If you have
a C++ compiler which does not support templates then a template
preprocessor which is supplied can be used. C++ compilers which have been
successfully used in the past are: 

    AT&T C++ and Sun C++ 2.1 and 3.0.1
    Borland C++ 3.0 (OTCLIB only)
    HP C++ 3.0
    ObjectCenter 1.1
    ObjectStore C++ 2.0
    IBM XL C++ 1.1

Platforms which OSE has been ported to include:

    HP 700 - HPUX 8.0
    Sun 4 - Solaris 2.X and SunOS 4.1.X
    Pyramid - OS5.1 (UCB/ATT)
    SCO UNIX
    Tandem
    IBM AIX

Mailing list :    ose-forum@swdev.research.otc.com.au
To subscribe, or for other queries, mail ose@swdev.research.otc.com.au

	ftp from csis.dit.csiro.au (0900-2000 GMT only please)
	in /pub/otc
---------------------------------------------------------
COOL - Texas Instrument's "C++ Object Oriented Library".

COOL includes classes like AVL_Tree, Association, Bignum, Binary_Tree,
Bit_Set, Complex, Date_Time, Envelope, Gen_String, Handle, Hash_Table,
Iterator, List, M_Vector, Matrix, N_Tree, Pair, Quaternion, Queue, Random,
Range, Rational, Regexp, Set, Shared, Stack, String, Timer, Value, Vector.

COOL uses a special "template" syntax which is preprocessed by a special 
cpp (distributed with COOL). This enables it to be used with compilers 
which do not support templates.


	fto from csc.ti.com
	in ~ftp/pub/COOL.tar.Z
---------------------------------------------------------
GECOOL 2.1 is a reworking and enhancement of Texas Instrument's "C++
Object Oriented Library" (at csc.ti.com in ~ftp/pub/COOL.tar.Z) by some
programmers at General Electric. 

JCOOL's main difference from COOL and GECOOL is that it uses real C++
templates instead of a similar syntax that is preprocessed by a
special 'cpp' distributed with COOL and GECOOL.  Of course, this


	ftp from cs.utexas.edu
	in pub/COOL
---------------------------------------------------------
SOCKET++

C++ iostream like library for sockets and pipes.

	ftp from from uvaarpa.virginia.edu:
	in /public_access/socket++-XX.tar.gz (XX - version no)
---------------------------------------------------------
PDBlib is a class library written in C++ for modeling a macromolecular
structure at the level of detail (excluding symmetry information) found
in a Protein Data Back (PDB) file. A class is supplied to read a PDB file
into a PDBlib representation. This class is independent of the actual
representation and other forms of input, for example from a relational
database like SESAM, are possible. 

The library is made extensible by a close coupling between intrinsic and
external classes. By writing only to the external classes you will remain
compliant with future versions of the library. 

You don't get source code. This is a temporary situation while we attempt
to centralize bug fixes and additions to the library. If you find this
situation unworkable source code is available by signing a copyright
agreement which is available with the distribution. 

Platforms:

PDBLib.1.0.SGI.tar.Z    Compressed tar file of PDB object classes library
                        and header files for SGI.  AT&T C++ release 2.1 & 3.0
                        compatible.

PDBLib.1.0.Sun.tar.Z    Compressed tar file of PDB object classes library
                        and header files for Sun Sparc station.  AT&T C++
                        release 2.1 & 3.0 compatible.

PDBLib.1.0.Cvx.tar.Z    Compressed tar file of PDB object classes library
                        and header files for Convex.  AT&T C++ release 2.1
                        compatible.

PDBLib.1.0.Alpha.tar.Z  Compressed tar file of PDB object classes library
                        and header files for Dec 3000 (Alpha AXP) with OSF1.
                        Dec C++ (cxx) release 1.2 compatible.

Address specific programming questions on PDBlib to Weider Chang, the
author of most of the code (weider@cuhhca.hhmi.columbia.edu). 

Address questions concerning PDBview to Ilya Shindyalov
(shindyal@cuhhca.hhmi.columbia.edu)

Address general comments, criticisms, questions about future directions
etc. to Phil Bourne (system@cuhhca.hhmi.columbia.edu). 

	ftp from cuhhca.hhmi.columbia.edu (128.59.98.1)
	in pub/programs/PDB/PDBlib
---------------------------------------------------------
molbio++ is a C++ library for molecular biosequence analysis.  Major 
features include:

classes and services for
  reading and writing sequence data in the following formats:
    Genbank Flatfile
    EMBL / SwissProt
    GCG / Wisconsin
    Fasta / Pearson
    PIR
    NCBI Retrieve Server (read-only)
  limited parsing of fields and features in biosequence files
  storing amino acid or nucleic acid sequences
  iterating over a biosequence
  calculating and storing counts or frequencies of amino acids
    or nucleotides
  device-independent graphics, via GCG's FIGURE program
  translating nucleotide sequences into proteins using
    the universal genetic code or modifications thereof.
  parsing BLAST output
  calculating pI and molecular weight of proteins
  amino acid hydropathy values of Kyte & Doolittle

	ftp from golgi.harvard.edu  (128.103.161.55)
	pub/CONTRIBUTIONS/molbio++
---------------------------------------------------------
SESAME, by C. Tietz, Neural net software ?

	ftp from ftp.gmd.de
	in /gmd/as/sesame.
---------------------------------------------------------
C++ Matrix class, by E. Tisdale, including a neural network 
application,

	ftp from ftp.cs.ucla.edu
	in /pub/Matrix.tar.Z.
---------------------------------------------------------
TOLKIEN (TOoLKIt for gENetics-based applications).

The tool contains objects for both GA and classifier system applications."
It's in some kind of alpha-status.

	tang028@cs.cuhk.hk
---------------------------------------------------------
GAME - Parallel Genetic Algorithms Theory and Applications

Edited by: J. Stender
Publisher: IOS Press
Frontiers in Artificial Intelligence and Applications series
1993, 225 pp; hard cover; w/ disk
ISBN: 90 5199 087 1
Price: $85, 59 pounds sterling

The first version of the GAME Virtual Machine software and two examples
that come with the book can be obtained also by ftp.

	ftp from bells.cs.ucl.ac.uk
	in papagena/game/version1 directory
---------------------------------------------------------
The Generic Linked List Package is a package to define, create, update
query and delete one or more (nodes of) linked lists, to sort linked
lists, and so on. The user doesn't have to take care of allocating a
number of bytes for a node, inserting on the right place, deleting and
freeing a node and so on.

	ftp from ftp.tno.nl or hermes.bouw.tno.nl
	in /pub/TNO/BOUW/Bouwinf/linkedlist0.10.shar
---------------------------------------------------------
Newmat : a very thorough matrix class

volume34, issue 107 of comp.sources.misc

Systems     : Unix (g++ 2.3.3 ok), MS-DOS (Borland C++)

Author      : Robert Davies (robertd@kauri.vuw.ac.nz)

	ftp from unix.hensa.ac.uk
	in /pub/uunet/usenet/comp.sources.misc/volume34/newmat07
---------------------------------------------------------
nlmdl : a library for estimation of nonlinear models

Nonlinear maximisation, estimation, includes a real matrix class

Systems     : Unix, MS-DOS (Turbo C++)
Author      : A. Ronald Gallant, arg@ccvr1.cc.ncsu.edu

	ftp from ftp.uu.net
	in /usenet/comp.sources.misc/volume16/nlmdl
---------------------------------------------------------
Octave : Matlab-like interactive system for numerical computations

Includes C++ classes for matrix manipulation, numerical integration, and
the solution of systems of nonlinear equations, ODEs and DAEs.
Distributed under the GPL. 

Systems     : Compiles and runs on SPARC, RS/6000, DEC/Ultrix, i386/Linux
Author      : John W. Eaton <jwe@che.utexas.edu>

	ftp from ftp.che.utexas.edu
	in /pub/octave/octave-M.N.tar.Z
---------------------------------------------------------
Andy Register <andy@cerl.gatech.edu> has a matrix library ...

It is still under development so there is no documentatin and some
functions have not been throughly tested. It is a departure from most
matrix libs in that it includes things like UpperTriangular different
>from Diagonal, from Row, from Col, etc. 

	ftp from ftp.cerl.gatech.edu
	in pub/c++/gtmatrix
---------------------------------------------------------
Awesime : a C++ task library explicitly designed for simulation.

Author      : Dirk Grunwald (grunwald@foobar.cs.colorado.edu)

	ftp from ftp.cs.colorado.edu
	in pub/cs/misc/Awesime
---------------------------------------------------------
BLAS in C++

Author      : Damian McGuckin (damianm@eram.esi.com.au)

	ftp from usc.edu
	in pub/C-numanal/blas.cpp.shar.z
---------------------------------------------------------
Cvmath.cc
An include file to make complex math look like regular math.

Author      : Leonard Kamlet, lik@engin.umich.edu
Comments    : The file uses a lot of operator overloading, so that
              if x=a+ib and y=c+id, the code for multiplying the two
              together looks like z = x*y;  Also, the file includes nrutil
              from Numerical Recipes, and adds the complex versions for
              vectors and matrices.

	ftp from usc.edu
	in pub/C-numanal/cvmath.cc
---------------------------------------------------------
Gnans : Simulation of stochastic and deterministic dynamical systems

System      : SunOS 4.1.x, IRIX, AIX; X11 Release 4-5 incl. Athena Widgets
Author      : Bengt Martensson <bengt@mathematik.uni-Bremen.de>
Comments    : A program (and language) for dynamical systems. Includes
              simple scripting language. Graphical user interface. Copyleft.

	ftp from ftp.mathematik.uni-Bremen.de
	in /pub/gnans
---------------------------------------------------------
Kalman : A class library for Kalman filtering

Author      : Skip Carter (skip@taygeta.oc.nps.navy.mil)

	ftp from usc.edu
	in pub/C-numanal/kalman.zoo
---------------------------------------------------------
Matrix

A C++ Matrix class, including a matrix implementation of the backward
error propagation (backprop) algorithm for training multi-layer, feed-
forward artificial neural networks 
Author      : E. Robert (Bob) Tisdale, edwin@cs.ucla.edu

	ftp from ftp.cs.ucla.edu
	in pub/Matrix.tar.Z
---------------------------------------------------------
Presto : C++ routines for fine-grained parallel programming (lightweight
threads) on multiprocessors. Tuned for the Sequent machines, but highly
adaptable and customizable. 

Systems : Unix-like OS on (moderate) multiprocessor machines 
Author : Brian N. Bershad, Edward D. Lazowska, Henry M. Levy 

	frp from cs.washington.edu
	in pub/presto1.0.tar.Z 
---------------------------------------------------------
Range : C++ class for interval arithmetic. 

Associated with article in TOMS, Dec 1992 title "Precise computation
using range arithmetic, via C++" 
Author      : Oliver Aberth and Mark J. Schaefer

	ftp from math.tamu.edu
	in pub/range/range.tar.Z
---------------------------------------------------------
SA : library for simulated annealing

Author      : Skip Carter (skip@taygeta.oc.nps.navy.mil)

	ftp from usc.edu
	in pub/C-numanal/sa.zoo
---------------------------------------------------------
Sdeint

A Runge-Kutta like class for integrating systems of Stochastic
Differential Equations 

Author      : Skip Carter, skip@taygeta.oc.nps.navy.mil

	ftp from usc.edu
	in pub/C-numanal/sdeint.tar.z
---------------------------------------------------------
Simpack : tools for writing simulations with a EECS bias

Author      : Paul A. Fishwick, fishwick@cis.ufl.edu

	ftp from bikini.cis.ufl.edu
	in pub/simdigest/tools/simpack
	See also cis/tech-reports/tr92/tr92-022.ps.Z
---------------------------------------------------------
PARODY : C++ DATABASE LIBRARY

Al Stevens has written a book on the subject called
`Database programming in C++' or something. An article
on the subject was printed in Doctor Dobbs Journal
some time ago.

The nice thing is that Stevens also wrote a C++ library
adding persistence to C++, and the source is available.
The library is called PARODY and compiles under most
DOS-based C++ compilers. A slight rewrite of the GUI-
routines has to be done to make it compile under GNU C.

	ftp from ftp.mv.com
	in pub/ddj/1992.12/parody.zip 
	   pub/ddj/1992.12/parody.dir (directory of zip)
---------------------------------------------------------
SMURPH : A C++ library which could be useful for building a network
simulator.It comes withextensive documentation and examples.

	ftp from menaik.cs.ualberta.ca (129.128.4.241)
	in /pub/smurph*
---------------------------------------------------------
C++ FEM (Finite Element Method) Library 

In addition to FEM related classes, this library also has:

        1) Some simple garbage collection stuff
        2) An automatic differentiation library
        3) A sparse matrix library

This is an initial release and people should *expect* to have to do some
work to get it running on their system. If you have gcc-2.3.3, libg++-2.
3[.1], Gnu make and makedepend you shouldn't have too much difficulty
however. The code is unsupported, and is distributed under the terms of
the GNU Public License. 

	Michael Tiller
	University of Illinois (Urbana-Champaign)
	(tiller@solace.me.uiuc.edu)

	ftp from ftp.uu.net
	in /tmp/femlib.tar.Z
---------------------------------------------------------
A C++ socket library

	ftp from cs.ucl.ac.uk [128.16.5.31]
	in coside/gnu/sockets++.tar.z
---------------------------------------------------------
Ode Object database v2.0

Ode is an object-oriented database based on the C++ database model.
The primary interface to Ode is the database programming language O++
which is based on C++.

Ode is now available to Universities. The current version of Ode runs on
Sun (Sparc) workstations and users must have C++ release 2.0 or a later
release. If you are interested in using Ode and giving us feedback on
your experience with Ode, please send mail to nhg@research.att.com with
the appropriate information. 

	Narain Gehani
	AT&T Bell Labs 3D-414
	600 Mountain Ave
	Murray Hill, NJ 07974

	ftp from research.att.com.
	in dist/ode2.0/2.0.oppbin.tar.Z
---------------------------------------------------------
C++SIM 1.0  - a simulation package written in C++. 

C++SIM provides discrete process based simulation similar to that
provided by the simulation class and libraries of SIMULA. The linked list
manipulation facilities provided by SIMSET are also included in the
package. 

The simulation package requires the use of a threads package and
currently only works with Sun's lightweight process library or the Gnu
thread package (which *is* included in the distribution). The package has
been used on Sun workstations, and, with the exception of the thread
library requirement, contains no system specific code which should make
porting to other systems relatively easy. The code has been compiled
with Cfront 2.1 and Cfront 3.0.1 and g++ 2.3.3

	ftp from arjuna.ncl.ac.uk
---------------------------------------------------------
ADAPTIVE Communication Environment (ACE) C++ IPC wrappers 


The contents of this release encapsulate the following user-level BSD
and System V Release 4 (SVR4) IPC facilities via type-secure,
object-oriented C++ interfaces:

        o Internet and UNIX-domain sockets (including broadcasting)
        o I/O multiplexing via select and poll
        o named pipes (FIFOs) and STREAM pipes (plus connld)
        o the mmap family of memory-mapping APIs
        o System V IPC (i.e., shared memory, semaphores, message queues)
        o SVR4 explicit dynamic linking facilities (i.e., dlopen/dlsym/dlclose)

        The release contains complete source code, documentation, and
example test drivers for the C++ wrapper libraries developed as part
of the ADAPTIVE project at the University of Calfornia, Irvine.  The
current release has been tested fairly extensively on Sun workstations
running Sun OS 4.1.2 and Solaris 2.2.  I expect that most of the
release will port easily to other platforms.

	ftp from ics.uci.edu (128.195.1.1) 
	in ftp/gnu/ACE_wrappers.tar.2.8.Z
---------------------------------------------------------
CB++ (CommonBase Database Access Library for C/C++)

This library was written in 1989 as a basis for storing C++ objects in
a relational database. The development of such a system was stopped in
1990 because of problems with the MS-DOS environment used in this time.
My involvement in various user interface projects here in the institute
and otherwhere made it sleep until last week.

Okay, here is it. It is only the database access layer of the projected
object storage system but it has some useful features which are provided
by commercial tools out there:

* Builds on the C language interface of a database, there is no need
  for a precompiler (like embedded SQL - which is totally unusable in
  combination with C++, at least it was three years ago...)
* Very simple to use. Unlike the native C interfaces of the databases
  it is as simple as embedded SQL or some 4th generation languages.
* Makes applications portable among different SQL databases. The library
  itself is relatively easy to port as the database vendor specific code


	ftp from ftp.x.org 
	in /contrib/CB++.0.1.*
---------------------------------------------------------
OBST - persistent object management system 

The persistent object management system OBST was developed by
Forschungszentrum Informatik (FZI) as a contribution to the STONE
project. 

Sites interested in getting information about new OBST developments
are welcome to register in their mailing list by sending a mail with
subject "obst-mailing-list" to stone@fzi.de.

	Forschungszentrum Informatik FZI
	STONE Projekt
	Haid-und-Neu-Strasse 10-14
	D-7500 Karlsruhe 1
	Germany
	Tel : ++49-721-9654-601
	Fax : ++49-721-9654-609
	Teletex : 721 190 fziKA
	email : stone@fzi.de

	ftp from gate.fzi.de [141.21.4.3]. 
	in /pub/OBST.
---------------------------------------------------------
GRAS - A Graph-Oriented Database System for SE Applications
Copyright (C) 1987-1992  Lehrstuhl Informatik III, RWTH Aachen
This library is free software under the terms of the GNU Library 
General Public License.

The system GRAS with interfaces for the programming languages Modula-2
and C is available as public domain software for Sun3/Sun4 workstations
(the GRAS system itself is implemented in Modula-2 and consists of many
layers which might be reusable for the implementation of other systems): 

  There are several files contain documentation, sources, binaries,
  and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
  are shipped only if explicitly requested.

	Lehrstuhl f"ur Informatik III
	University of Technology Aachen (RWTH Aachen),
	Ahornstr. 55,
	D-5100 Aachen
	Contact : Dr. Andy Sch"urr (or Richard Breuer),
	andy@rwthi3.informatik.rwth-aachen.de
	ricki@rwthi3.informatik.rwth-aachen.de (for technical support)

	ftp from tupac-amaru.informatik.rwth-aachen.de (137.226.112.31) 
	in /pub/unix/GRAS522_3
---------------------------------------------------------
MTL110JE.ZIP -- multithreading class library

DOS PC/Borland C++ specific.

	ftp from oak.oakland.edu
	in /pub/msdos/cplusplus
	or garbo.uwasa.fi
	in /pc/c
---------------------------------------------------------
CCL110JE.ZIP -- coroutine class library

DOS PC/Borland C++ specific.

	ftp from oak.oakland.edu
	in /pub/msdos/cplusplus
	or garbo.uwasa.fi
	in /pc/c
---------------------------------------------------------
TSR100JE.ZIP -- TSR class library

DOS PC/Borland C++ specific.

	ftp from oak.oakland.edu
	in /pub/msdos/cplusplus
	or garbo.uwasa.fi
	in /pc/c
---------------------------------------------------------
XMS101JE.ZIP -- XMS array class library

DOS PC/Borland C++ specific.

	ftp from oak.oakland.edu
	in /pub/msdos/cplusplus
	or garbo.uwasa.fi
	in /pc/c
---------------------------------------------------------

Useful ftp sites
~~~~~~~~~~~~~~~~
If you don't have ftp access, send email to ftpmail@decwrl.dec.com
saying "help".  You will get instructions on how to do ftp via email
---------------------------------------------------------
ftp.th_darmstadt.de

A major repository of C++ stuff, mostly under the directory tree starting 
at /pub/programming/languages/C++. Includes a product list (from which
some of the information in this document was taken) in various formats in 
sub-directory c++-products.

	/pub/programming/languages/C++/...
---------------------------------------------------------
ftp.luth.se

	/pub/languages/c++/ClassLibs/...
---------------------------------------------------------
netlib@research.att.com.

send mail with the text "send index" or "send index from C++"
---------------------------------------------------------
Simtel

Note Simtel doesn't have a home at present, but the mirror sites are still
available, including, for example, oak.oakland.edu.

	<MSDOS.CPLUSPLUS>
---------------------------------------------------------
Current CUG Library Catalog

The CUG CD-ROM file listing offers the most comprehensive look at the
programming tools and utilities available from CUG. The complete
annotated listing (about 1 megabyte) is available through anonymous ftp
as follows: 

	ftp from cdrom.com
	in /pub/cdrom/cdroms/cug/capsule.txt
---------------------------------------------------------
source-code newsgroups:
        ftp.uu.net  (e.g. usenet/comp.sources.reviewed archives the
        comp.sources.reviewed newsgroup).
---------------------------------------------------------
Netlib:
        research.att.com     email, ftp
        ornl.gov             email, xnetlib
        nac.no               email, xnetlib for Europe
           (e.g. send email to netlib@ornl.gov to access by email)
        unix.hensa.ac.uk is a mail server useful for Europe.
        ci.cs.uow.edu.au (130.130.64.3) in Australia
---------------------------------------------------------

Libraries for which I don't know an ftp site
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GenTools: A Computational Genomic Tool Suite

The University of Texas System CHPC and collaborators are addressing the
problems of high performance platforms by developing GenTools, an
interactive, distributed, loosely integrated, set of tools for DNA and
protein sequence data analysis, phylogenetic analysis, and restriction
mapping which combines different algorithm implementations, machines, and
databases through a "bio-user" friendly set of graphical user interfaces.

	Sarah Barron
	GenTools Project Leader
	Computational Molecular Biology and Genetics Group
	University of Texas System Center for High Performance Computing
	Balcones Research Center, CMS 1.154
	10100 Burnet Road
	Austin, TX 78758-4497

	Internet:  sarah@chpc.utexas.edu
	Bitnet:    s.barron@uthermes
	Voice:     (512)471-2434
	FAX:       (512)471-2445
---------------------------------------------------------

Commercial libraries
~~~~~~~~~~~~~~~~~~~~

Matrix.h++ includes all the functionality of Math.h++.  For example:
general matrices, vectors, statistics, complex numbers, Fast Forier
Transformation (FFT's), etc.  Matrix.h++ adds specialized matrix classes
such as banded, symmetric, positive-definite, Hermitian, tridiagonal, etc.
Because Matrix.h++ includes Math.h++, it can take advantage of
Math.h++'s highly optimized low-level assembly routines, making it fast
as well as graceful.

Prices range from $199 to $995

	Rogue Wave Software, Inc., 
	1325 NW 9th Street
	Corvallis
	OR, 97330
	(503) 754-2311.
---------------------------------------------------------
Linpack.h++ is the jewel of C++ math classes.  Linpack.h++ includes all
of Matrix.h++, plus all of the functionality in the original and well-
established Fortran version; including solutions of systems of equations
for a variety of matrix types, solutions of over- and under-determined
systems of equations, incremental least squares solvers, etc.  But,
Linpack.h++ is a tru object-oriented library, not just a C version that
compiles under C++:  the traditional messiness of the Fortran version has
been replaced with high-level, yet efficient, objects that make code far
easier to write and maintain.

Prices range from $299 to $1195

	Rogue Wave Software, Inc., 
	1325 NW 9th Street
	Corvallis
	OR, 97330
	(503) 754-2311.
---------------------------------------------------------
Classix

In addition to Rogue Wave, Empathy offers a good general-purpose
library called Classix.  

	Empathy
---------------------------------------------------------
USL (UNIX System Laboratories Europe Ltd.)

USL C++ Standard Components include :

Args - argc/argv command line parser.
Bits - bit manipulation to arbitrary-length bitstrings.
Blocks - dynamic arrays.
Array - efficient algorithms for searching, sorting, inserting etc.
Fsm - state machines
Graphs - maintain arbitrary relationships between arbitrary entities.
Graph Algorithms - including searching, cycle and component detection.
ipcstream - inter-process streams.
Lists - doubly-linked lists.
Maps - like arrays, except that the subscripts can be non-integral.
Objections - like UNIX software signals.
Path - facilities for manipulating UNIX path names and UNIX search paths.
Pools - optimise memory allocation.
Regex - regular expressions.
Sets - including Sets, Bags, and pointer sets.
Stopwatch - for timing critical sections of code
Strings - variable-length character strings.
Strstream - iostreams for Strings.
Symbol - efficient symbol table handling & sorting.
Time - Time, Duration (time difference) and Place (geographical location).

Also included are the following tools :

c++filt  - demangles C++ names in standard input.
dem  - demangles C++ names in an argument list.
demangle  - demangles C++ names in a.out for easier debugging.
fs  - a tool and library to help find freestore bugs.
g2++comp  - compiles G2++ record definitions.
hier  - displays the inheritance hierarchy in a program.
incl  - displays the hierarchy of include files used in a program.
publik  - displays the public interface of a class.

	UNIX System Laboratories, Inc.
	190 River Rd.
	Summit
	N.J, 07901
	Tel: +1 800-828-UNIX
	     +1 908-522-6000

	UNIX System Laboratories Europe Ltd.
	International House
	Ealing Broadway
	London W5 5DB
	England
	Tel: +11-44-81-567-7711

	UNIX System Laboratories Pacific Ltd.
	BR Shiba 1 Bldg. 2-3-18
	Shiba Minato-ku
	Tokyo 105
	Japan
	Tel: +81-3-5484-8601
---------------------------------------------------------
Booch Components

Rational markets the C++ Booch objects which are a somewhat bizarre,
but possibly quite innovative, set of library objects.

It appears quite complete (unless you have some specific, uncommon
needs); Booch may have an edge in supporting concurrency. USL may have
more installations and greater maturity.

	Rational OO products
	408-496-3700
---------------------------------------------------------
StarView - A Portable C++ Class Library for Graphical User Interfaces

StarView is a portable C++ Class Library for Graphical User Interfaces.
StarView is one of the major parts of our total Object Oriented
programming environment (we call it SOLAR system). 

-   portability between the operating systems MS-DOS, OS/2, Macintosh
    and different UNIX flavours
-   at  least portable between  the  GUI's MS-WINDOWS, MS-Presentation
    Manager, MacApp and OSF/Motif
-   fulfillment of the requirements of the different GUI Style
    Guide's
-   data  exchange and direct communication between the applications in
    homogeneous and heterogeneous networks (groupware approach)

StarView will support the following GUI's / Compilers:

Windows 3.x
        Borland C++
        Zortech C++

Presentation Manager
        Zortech C++

OSF Motif
        Sun C++
        Zortech C++
        Glockenspiel C++

Macintosh
        MPW C++

Author:     Andreas Meyer, STAR DIVISION

	STAR DIVISION GmbH
	Andreas Jahnke
	Sachsenfeld 4
	D-20097 Hamburg
	Germany

	Phone: ++49 40 23646 500
	Fax:   ++49 40 23646 550
	Email: svinfo@stardiv.de

	Star Division
	2180 Sand Hill Road, Suite 320
	Menlo Park, CA 94025
	(800) 888-8527
	(415) 233-0142 (fax)

	svinfo@starlab.uucp
---------------------------------------------------------
Open Dialogue

	HP/Apollo
---------------------------------------------------------
MacApp (application development toolkit)

	Apple
---------------------------------------------------------
ICpak101, ICpak201

	Stepstone
---------------------------------------------------------
NeXTStep (application development toolkit)

	NeXT
---------------------------------------------------------
CommonView (Iconic user interface)

	Glockenspiel
---------------------------------------------------------
CommonView Glockenspiel

This is a C++ UI library. In addition, it comes with container classes.
The down-side is that some of the features are not supported across all
platforms. 

	Computer Associates International
	One CA Plaza
	Islandia, NY 11788
	(516) 342-2308
	(516) 342-6947 (fax)
---------------------------------------------------------
Galaxy

This is a C UI library, but it's written in an object-oriented style and
is type safe for C++ use. The package includes a WYSIWYG GUI builder. 

The tools are, reportedly, pretty full-featured. User-interface items
have extensive abstraction (for example, they have a confirmation-type
dialog that resolves to a push-pin and 'apply' button under openlook, but
'ok', 'apply', 'cancel' buttons under motif). Objects can be positioned
relative to each other (rather than merely absolute position on the
screen). Also, errors are handled with an abstract exception handling
framework. They support internationalization of fonts (at least Japanese),
money, and data formatting. 

Some extra-cool features include memory leak detection and C-language
objects for text (multi-styled, multi-font text with embedded graphics),
list (spreadsheet-like for handling up to 2^31 x 2^31 cells with
customizable displays), and graphics processing. 

	Visix
	11440 Commerce Park Drive
	Reston, Virginia 22091
	(800) 832-8668
	(703) 758-2711
	galaxy@visix.com
---------------------------------------------------------
Guild

This is a C-language UI library, but they're type-safe for C++
compatibility. The package includes a GUI builder and an event occurrence
monitor. 

Additional features in the library includes support for international
character sets, portable file system support and nifty C-language classes
for pie-charts, 3d bars, x-y plots, and the like. 

OPTIONS:
    Graphic Modeling        $995
    Oracle Database Bridge  $395
    ODBC Database Access    $495

	Guild
	1710 S. Amphlett
	2nd Fl.
	San Mateo, California 94402
	(415) 513-6650
	(415) 349-4908 (fax)
---------------------------------------------------------
MainWin

	Machine Independent Software
---------------------------------------------------------
ObjectViews

I believe this is a commercial version of InterViews.

	Quest Windows
---------------------------------------------------------
Open Interface Version 3.0

This is a C-based UI library, but type-safe for C++ compatibility. The
software also comes with a WYSIWYG GUI builder. 

They include tons of extra widgets like business graphics (bar, pie, and
line charts), images (all standard formats), and hypertext help. 

Other software in Open Interface includes international character support,
multi-font support, full printer support, memory management, file I/O
support as well as Windows DDE support (the latter is, of course, non-
portable). 

They also have a product called Nexpertobject, which is an expert systems
tool intended for GUI development. 

	Neuron Data
	156 University Avenue,
	Palo Alto, California 94301
	(800) 876-4900
	(415) 321-4488
---------------------------------------------------------
Wind/U

	Bristol Software
---------------------------------------------------------
WNDX

	WNDX
	1550 8th Street S.W. Suite 305
	Calgary, Alberta Canada T2R 1K1
	(403) 244-0995
---------------------------------------------------------
XVT Portability Toolkit

This is a C-language library of functions (although, you can pay extra
for C++). They have a WYSIWYG GUI builder, but they charge for that, too.


OPTIONS:
    C++ capability                      $200
    XVT-Design (a WYSIWYG GUI builder)  $1200 ($2900 for non-PC UNIX)
    Source Code                         (call)

	XVT Software Incorporated
	4900 Pearl East Circle
	Box 18750
	Boulder, CO 80308
	(800) 678-7988
	(303) 443-4223 (phone)
	(303) 443-0969 (fax)

	info@xvt.com
---------------------------------------------------------
zApp V2.0

This is a full C++ class library.

This product contains 200 classes to provide things like DDE support (non-
portable), printer support, logical positioning (top, bottom, etc) of
window items, and true-type font support. Included in their package is 75
pre-defined forms (as well as the usual examples). 

The software comes with zApp Programmer's Guide (330 pages) and zApp
Programmer's Reference (890 pages). 

OPTIONS:
    Object/Designer $499 (is this a GUI builder?)

	Inmark
	2065 Landings Drive,
	Mountainview, CA 94043
	(800) 3-inmark
	(415) 691-9000
	(415) 691-9099 (fax)

	sales@inmark.com
---------------------------------------------------------
Zinc V3.5

This is a full C++ class library that comes with the Zinc Designer (a
WYSIWYG GUI builder). Their classes include some graphic capabilities, a
rather nice error system, and a portable, if rudimentary, help system.
Also included is the source for the library (and for the Designer!). 

In addition to the usual GUI stuff, Zinc also provides international
character support (an extended version, for extra bux, is in the works),
some container classes, and filesystem portability. They also allow you
to incorporate platform-specific stuff (e.g., system messages) into their
API; but, of course, you're on your own when it comes to porting any
additions. 


	ZINC Software Incorporated
	405 South 100 East 2nd Floor
	Pleasant Grove, UT 84062
	(800) 638 8665
	(801) 785-8900
	(801) 785-8996 (fax)
	(801) 785-8997 (bbs)

	tech@zinc.com
---------------------------------------------------------
Software Transformation has a cross-platform product which was designed
from the ground up for commercial ISVs, not just MIS shops, and the
technology is supposed to blow away XVT. 

	Software Transformation
---------------------------------------------------------
OpenUI is another GUI builder

This interface supports C, Pascal, and (ish) COBOL.

	Open Software Associates
	P.O. Box 3599
	Sunnyvale, CA 94088-3599
	(408) 730-2626
---------------------------------------------------------
NetClasses++, C++ classes for message passing environments:

NetClasses is a set of C++ class libraries that is organized as an object-
oriented software toolkit for distributed, message-passing based
programming. 

Facilities include :

Transporting objects over a network. NetClasses can transport: Arbitrary
C++ objects derived from PostModern's TransObject class, arbitrary NIH-
derived objects, and NetClasses Typed Objects. 

NetClasses Typed Objects provide an object-oriented data transport in
which the structure and organization of objects is specified externally
in configurable files using a simple, programming language independent
abstract syntax notation, the NetClasses Abstract Syntax Notation (NASN).

Remote method invocations (RMI). Using RMI, an application on machine B
can invoke a method on machine A. RMI makes fault tolerance and
connection management transparent to the application programmer. The RMI
layer is built on top of the distributed services package that is
described below. 

Reading and writeing all three varieties of NetClasses-transportable
objects on streams using machine-independent external representations. 

Currently available on Sun SPARC; currently testing on HP workstations.

NetClasses Development License          $1995
NetClasses Runtime License               $495
NetClasses Source Code License          $7995
(includes 3 runtime licenses)
NetClasses training class               $2000
NetClasses consulting and porting services (ask for quote)

	Qualix Group
	1900 S. Norfolk St. Suite 224
	San Mateo, CA 94403
	info@qualix.com
	1-800-245-UNIX (voice)
	(415) 572-1300 (fax)
	(415) 572-0200 (voice)
---------------------------------------------------------
Aspect

This is a C library, though they're type safe for C++ compatibility. A
GUI builder is provided with the library. They're coming out with a C++
class library soon. 

	OPEN Inc.
	655 Southpointe Court, Suite 200
	Colorado Springs, CO 80906
	(719)527-9700 (sales, customer service, tech support)
	(719)576-3835 (fax)
---------------------------------------------------------
C++/Views

This is a C++ library based on the smalltalk model (all classes come from
one superclass, and they have a smalltalk-like class browser). They do
not have a WYSIWYG GUI builder. 

Additional features include various container classes.

	Liant Software Corp.
	959 Concord St.,
	Framingham, MA 01701 USA
	(800) 237-1873
	(508) 875-2246.
	support@lpi.liant.com
---------------------------------------------------------
Presentation Services Manager UI library

No WYSIWYG GUI builder exists, but they do include a script language. 

	Lancorp Pty Ltd
	33 Nott St
	Port Melbourne 3207
	Australia
	+61 3 646 7100 (phone)
	+61 3 646 8610 (fax)
---------------------------------------------------------
ILOG RULES is a high performance embeddable rule-based inference
engine. It is a forward chaining tool, written in C++ (hence it is
object-oriented and supports inheritance mechanisms) and is also
provided as a C++ library. 

It runs virtually on any Unix platform (e.g., HP97X0, Sun4, RS/6000,
DecStations) as well as on PCs running DOS (with or without MS/Windows)
or OS/2. 

It extends OPS/5 with nested premises (objects as values), rule packets
(logical grouping of rules), a full Truth Maintenance System (TMS) for
efficient non-monotonic reasoning, compilation of rules into C/C++ code,
and an object oriented data-model in C++. ILOG RULES work directly on
user objects, so interfacing is straightforward. C/C++ code may be
included in rule conditions and actions. ILOG RULES is based on the fast
XRETE implementation of the RETE algorithm developed by Thomson-CSF. 

	ILOG, Inc., 
	2073 Landings Drive, 
	Mountain View, 
	CA 94043, 
	tel 415-390-9000, 
	fax 415-390-0946, 
	e-mail info@ilog.com.  

European customers should contact 
	ILOG SA, 
	2, av. Gallieni, 
	BP 85, 
	94253 Gentilly CEDEX, 
	France, 
	tel +33 (1) 46-63-66-66, 
	fax +33 (1) 46-63-15-82, 
	e-mail info@ilog.fr.
---------------------------------------------------------
ImageSoft's Object/Engineering C++ class library supports simulation.

The library provides a natural approach to solving discrete-event
simulation problems. Modularity is reinforced by implementing the
process objects as concurrent tasks. Support is provided for dynamic
systems; transaction operators; transaction messages; as well as
queuing network thread with polymorphic scheduler (timer for
discrete-event simulation; tracer for simulation run; processes
in discrete-event simulation with services delay;
conventional/unconditional blocking, pre-emption, etc.;
shared queues/links in network with LIFO, FIFO & arbitrary
queuing discipline; producing node and source; consuming node
and sink; generic queuing network nodes and servers.

And full source code is provided together with extensive
documentation, examples and tutorial. There are also an
enourmous number of other class libraries included with
source that are of interest to the scientific and engineering community.

	ImageSoft Inc.
	2 Haven Avenue
	Port Washington, NY 11050
	(516) 767-2233
	(516) 767-9067 (Fax)
	(516) 767-9074 (BBS)
	email: mcdhup!image!object
---------------------------------------------------------
POET : Object Oriented Database

POET runs on the SPARC, NeXT, DOS, MS-Windows, Novell, OS/2, and
Macintosh. Other ports are in the works. Pricing starts at about $500. 00
for the DOS version, to a little over $1000.00 for the Unix versions. 

	BKS Software
	One Kendall Square
	Suite 2200
	Cambridge, MA 02139
	Phone: 617 / 621 7047
	Fax:   617 / 621 7097

In Germany : BKS Software
             Guerickestr. 27 
             1000 Berlin 10
             Germany
             Phone: +49 30 / 342 3066
             Fax:   +49 30 / 342 8413

	BKS Software
	4633 Old Ironsides Drive
	Suite 110
	Santa Clara, CA 95054
	Tel:	408 / 748 - 3403
	Fax:	408 / 748 - 9060

European Office:
	BKS Software
	Fo_redder 12
	2000 Hamburg 67
	Germany
	Tel:	+49 40 / 60 99 011
	Fax:	+49 40 / 60 39 851
	Internet: poet@bks.de

UK Office:
	Silicon River, Ltd.
	106-108 Powis Street
	London, SE18 6LU
	England
	Tel:	+44 81 / 317 7777
	Fax:	+44 81 / 316 7778
	BBS:	+44 81 / 317 2310
	Internet:  acourt@cix.compulink.co.uk
---------------------------------------------------------
ORION/ITASCA - Object Oriented Database

	Itasca Systems, Inc.  
	2850 Metro Drive
	Suite 300
	Minneapolis, MN  55425
	Tel: 612-851-3158
	Fax: 612 851 3157

A slightly different address from another poster ...

	Itasca Systems, Inc.
	7850 Metro Parkway
	Minneapolis, Minn 55425 
	Tel: (612) 851-3155
	Technical Contact : Doug Barry (doug@itasc.com)
---------------------------------------------------------
OS Object Oriented Database

	O2 technology
	Suite 2200
	1 Kendall Square
	Cambridge MA 02139
	U.S.A.
	Tel: +1 617 621 7041
	Fax: +1 617 577 1209

France : 
	O2 Technology
	7, Rue du Parc de Clagny
	78035 Versailles Cedex
	France
	Tel: +33 1 30 84 77 91
	Fax: +33 1 30 84 77 90
	Email: o2@o2tech.fr
	Contact: Didier Plateau
	Email: didier@o2tech.fr
---------------------------------------------------------
G-BASE/GTX (MATISSE) Object Oriented Database

	ODB, an Intellitic Intl Co.
	238 Broadway
	Cambridge, MA 02139
	phone: 	(617) 354-4220
	fax:	(617) 547-5420
	e-mail: info@odb.com
	Contact: Christina Bernard, Marketing and Communications
---------------------------------------------------------
OBJECTSTORE Object Oriented Database

email address for their distributor in France: bchavonnet@elsa.fr

	Object Design
	Main office	 		 California address
	One New England Executive Park	 101 El Camino Real, Suite 300
	Burlington, MA  01803		 Menlo Park, CA 94025
	Tel: 617-270-9797              (415) 327 - 5191
	Fax: 617-270-3509

UK Office:
	Object Design (UK) Ltd.
	604 Delta Business Park
	Welton Road
	Swindon
	Wiltshire SN5 7XP
	44-793-486111
	44-793-491177 (fax)
---------------------------------------------------------
Objectivity/DB Object Oriented Database

Objectivity/DB runs on the SPARC, as well as all sun platforms, all dec
platorms (and operating systems), hp 9000 series (68k and risc), ibm risc,
sgi, and some others, all in a mixed fully distributed and heterogeneous
environment.

Objectivity Inc.
	West coast                      East coast
	800 El Camino Real		67 South Bedford Street
	Fourth Floor			Suite 400W
	Menlo Park, CA  94025		Burlington, MA 01803
	Tel: 415-688-8000		Tel: 617 229 5817
	Fax: 415-325-0939		Fax: 617 272 0558

	11050 Strathmore Dr., #316/300B
	Los Angeles, CA  90024
	(310) 208-6117
	(310) 208-5677 fax

	email: info@objy.com
	European General Manager : Remy Malan (remy@objy.com)

For Germany:
	Dr. Matthias Frei
	Micram Microelectronic GmbH & Co. KG
	Universitatsstrabe 142
	4630  Bochum
	Germany
	ph:	+49  234  97 08-304
	fax:	+49  234  97 08-301
	e-mail:	frei@micram.de

For Sweden, Norway, Finland and Denmark:
	Mr. Kjell Hegerin
	Norsys Technology AB
	Finlandsgatan 12
	Box 1239
	S-164 28 Kista
	Sweden
	phone:	+46 8 750 75 75
	fax:	+46 8 703 92 72

For The United Kingdom:

	Valbecc Object Technology Ltd.
	115 Wilmslow Road
	Handforth, Wilmslow
	Cheshire  SK9 3ER
	United Kingdom
	contact:	Fred Peel
	ph:	+44  625  539903
	fax:	+44  625  539905
---------------------------------------------------------
ONTOS Object Oriented Database

	Ontologic, Inc.
	Three Burlington Woods
	Burlington, MA  01803
	Tel: 617-272-7110
	Fax: 617-272-8101 

UK distributor:
	VALBECC SOFTWARE
	Mr. Fred Peel
	115 Wilmslow Road
	Handforth,
	Wilmslow, SK9 3ER 
	U.K.
	tel +44 625 539 903
	fax +44 625 539 905
---------------------------------------------------------
KALA Object Oriented Database

Kala(tm) is a Persistent Data Server managing distributed, shared,
arbitrarily complex and evolving persistent data. Kala is highly
efficient and secure. Kala manages the visibility of persistent data
elements to its clients, thus supporting any types of transactions,
versions, access control, security, configurations. Kala does not
restrict you to any particular model. Kala provides the mechanism, but
imposes no policy.

o Kala is available now on Sun platforms (SunOS / 68K & SPARC). A
  80x86/DOS version is now available to alpha and early beta sites.
  Ports to Windows and MacOS are also likely in the near future. Any
  port is possible as NRE.
o Kala's interface is ANSI C, also callable from C++.

	Penobscot Development Corporation
	50 Princeton Road
	Arlington, MA 02174-8253
	USA
	Tel: +1-617-646-7935
	Fax: +1-617-646-5753
	Contact: Sergiu S. Simmel
	Email: sss@world.std.com 
	Information: kala-request@world.std.com
---------------------------------------------------------
IDB Object Databases

	Persistent Data Systems
	P.O. box 38415
	Pittsburgh, PA 15238-9929
	Tel: 412-963-1846
	Fax: 412-963-1843
---------------------------------------------------------
GEMSTONE Object Oriented Database

Briefly, GemStone is a full featured OODBMS with transaction control,
multiple users, multiple platforms supported, client server architecture,
active objects (ie, behavior can occur in the database as well as in the 
application using it), multiple language support, etc.

GemStone is actually quite a bit more than just a data repository - it is a
full-fledged DBMS that is pure OO. You can access the same database just as
easily from C, C++, or SmallTalk, or you can build entire database
applications inside the database server, because it is an active server
that runs methods written in our DML, OPAL, which is a dialect of
SmallTalk. There are also high-level tools to aid application building.

	Servio Corporation
	950 Marina Village Parkway
	Suite 110
	Alameda CA 94501
	Tel: 510-814-6200
	Tel: 800-243-9369
	Fax: 510-814-6227
	Contact : marcs@slc.com

UK Office:
	Servio-UK Ltd
	Criterion House
	Beauchamp Court
	Victors Way
	Barnet
	EN5 5TZ
	England
	Tel: (81) 447-0800
---------------------------------------------------------
VERSANT Object Oriented Database

Versant markets a full-function OODBMS together with associated DBA and
application developer tools. Versant is currently available on Sun-3, Sun-4, 
IBM RS/6000, HP 9000/400,700, DEC Ultrix, SGI, NCR, NeXT and Sequent platforms. 
An OS/2 port has just been released. Other platforms will be announced soon.
A Windows/NT port is in progress.

Interfaces to 'C', 'C++' and Smalltalk-80 are supported.

	Versant Object Technology
	4500 Bohannon Drive
	Suite 200
	Menlo Park, CA  94025
	Attn: Mike Mooney
	Tel: 1-800-VERSANT
	Tel: (415) 329-7500
	Fax: (415) 325-2380
	Tel: 415-325-2300
	Fax: 415-325-2380
	Contact: Mary Foussourier
	Email:info@versant.com, 
	Email:info@osc.com
	Email:aflynn@osc.com

European Office:
	Versant Europe
	Siriusdreet 2
	P.O. Box 333
	2130 All Hoofddrop
	The Netherlands
	Tel: (31) 2503-66373
	Tel: +31 - (0)2503 - 66851
	Fax: +31 - (0)2503 - 66855

UK Distributor:
	Admiral Software Ltd
	Admiral House
	193-199 London Road
	CAMBERLEY
	Surrey GU15 3JT.
	Tel: 0276 692269
	Contact: Kevin Adams
	Contact: Clive Harris
---------------------------------------------------------
M++

M++ isn't as well known as the RogueWave math.h++ libraries, but it has
been around longer. It has a number of features that distinguish it from
the RogueWave classes, notably improved handling of temporaries. 

M++ was explicitly designed to provide the functionality of an array
language like Matlab or Gauss and it contains the Linpack, Eispack stuff
found in RogueWave's Linpack.h++. 

Dyad Software, also sell modules written in M++ for doing statistical
work, including linear and nonlinear least squares estimation, as well as
optimization, numerical integration, and differential equations. 

	Dyad Software
	6947 Coal Creek Pkwy, Suite 361
	Renton, WA 98059-3159
	206-637-9426 (voice)
	206-637-9428 (fax)
	206-271-9486 (bbs)
---------------------------------------------------------


Other Commercial sources of C++ code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Checkout the ISCL CD ROM from ImageSoft, it contains the largest
collection of C++ source code ever compiled in one place. It's available
from ImageSoft ... 

	ImageSoft Inc.
	2 Haven Avenue
	Port Washington, NY 11050
	(516) 767-2233
	(516) 767-9067 (fax)
	(516) 767-9074 (bbs)
	email: mcdhup!image!iscl
---------------------------------------------------------
This is not a code CD but it has many libraries & some code (all msdos)
brought together into a CD. 

	EMS Professional Software, Specialized Software Libraries
	Baker Enterprises
	20 Ferro Drive
	Sewell, NJ 08080
	Fax: 609-582-9204
	Internet: rbakerpc@aol.com
---------------------------------------------------------

Other places to look for details of C++ libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comp.windows.misc portable-GUI-software FAQ
---------------------------------------------------------
ftp.th_darmstadt.de /pub/programming/languages/C++/c++-products/*
---------------------------------------------------------
ASSET is currently populating a national directory of reusable
software assets, the National Software Reuse Directory (NSRD).  The
concept is to provide a type of 'card catalogue' containing descriptions
of reusable software work products and services.

For more information on supplying listings for the NSRD, please
contact or send information to:

	National Software Reuse Directory
	c/o ASSET
	2611 Cranberry Square
	Morgantown, WV 26505
	email: nsrd@source.asset.com
	voice: (304) 594-9827

For more information on obtaining an ASSET account and accessing the
NSRD, please contact:

	ASSET Account Manager
	2611 Cranberry Square
	Morgantown, WV 26505
	email: info@source.asset.com
	voice: (304) 594-1762
---------------------------------------------------------
-- 
Nikki Locke,Trumphurst Ltd.(PC and Unix consultancy) nikki@trmphrst.demon.co.uk
trmphrst.demon.co.uk is NOT affiliated with ANY other sites at demon.co.uk.

