home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac-Source 1994 July
/
Mac-Source_July_1994.iso
/
Information
/
comp.lang.c++
/
C++-faq
/
libraries
Wrap
Text File
|
1994-06-01
|
79KB
|
2,206 lines
Newsgroups: comp.lang.c++,comp.answers,news.answers
From: nikki@trmphrst.demon.co.uk (Nikki Locke)
Path: bloom-beacon.mit.edu!gatech!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!uknet!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, 13 Feb 1994 00:00:00 GMT
Supersedes: <Dec93c++libsFAQ@trmphrst.demon.co.uk>
Approved: news-answers-request@MIT.Edu
Lines: 2187
Date: Sat, 8 Jan 1994 16:31:49 +0000
Message-ID: <Jan94c++libsFAQ@trmphrst.demon.co.uk>
Sender: usenet@demon.co.uk
Xref: bloom-beacon.mit.edu comp.lang.c++:33204 comp.answers:3331 news.answers:13874
Archive-name: C++-faq/libraries
Comp-lang-c++-archive-name: C++-faq/libraries
Last-modified: 1994/01/08
Here is the third draft of a list of available C++ libraries I am
compiling. I intend to post this monthly (unless there are any
complaints).
It is also submited to news.answers, and is available for public ftp
(along with all the other Usenet FAQ lists) at rtfm.mit.edu (18.70.0.224),
in pub/usenet-by-group/comp.lang.c++/libraries.
Rtfm.mit.edu also has a mail server - send a mail message containing
"usenet-by-group/comp.answers/C++-faq/libraries" to mail-server@rtfm.mit.edu.
If you want to find out more about the mail server, send a message to it
containing "help".
Marshall Cline's C++ FAQ is also available from rtfm - the files are
called _posting_#1_4, _posting_#2_4, _posting_#3_4 and _posting_#4_4, and
they are in the same directory.
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. One recent
contribution of note is a C++ matrix class listing posted to the net by
Keith (kbriggs@maths.adelaide.edu.au).
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------------------------------------------------------
Aisearch - a package to make writing problem solving programs easier.
Offers the programmer a set of search algorithms that may be used to
solve all kind of different problems. The following search algorithms
have been implemented:
- depth-first tree and graph search.
- breadth-first tree and graph search.
- uniform-cost tree and graph search.
- best-first search.
- bidirectional depth-first tree and graph search.
- bidirectional breadth-first tree and graph search.
- AND/OR depth tree search.
- AND/OR breadth tree search.
Although this package is meant as a tool for developing problem solving
software it is not meant exclusively for programmers that are familiar with
the concept of problem representation and search techniques. The document
accompanying this package first describes (though condensed) the theory of
problem solving in AI and next explains how the search class library must be
used. Furthermore, as the source code is richly commented and as also some
demo programs are included the package should also prove useful to people that
want to get acquainted with the subject.
ftp from obelix.icce.rug.nl
in /pub/peter/aisearch.zip
or /pub/peter/aisearch.tar.Z
---------------------------------------------------------
Source to the Book: Object-Oriented Software in C++
by Michael A. Smith (mas@unix.brighton.ac.uk)
ref "Object-Oriented Software in C++", Chapman & Hall,
London. 1993. ISBN 0 412 55380 5.
ftp from unix.brighton.ac.uk
in /pub/mas
---------------------------------------------------------
DOSTmUit - DOS Text Mode User Interface Toolkit
Enables C++ programmers to add a CUA-compliant user interface to their
DOS programs without getting involved in screen coordinates and other
messy details. The programmer merely states which interface objects are
required, and how they are to be placed on the screen in relation to each
other. Those familiar with the ET++ toolkit for the X windows system
under Unix will get the general idea.
Includes a class documentation facility (DocClass) which will generate a
large text file from the source code giving details of every class,
structure, enum and extern in the toolkit. This program will also work on
your own C++ source code. Source is provided.
mail : uit@trmphrst.demon.co.uk
ftp from ftp.demon.co.uk[158.152.1.65]
in pub/trumphurst/dosuit??.zip
Also uitbor??.zip for Borland C++ users
---------------------------------------------------------
Lapack++
Description : C++ version of some of lapack fortran code.
Author : J. Dongarra, R. Pozo, D. Walker
Version : 0.9 beta
Comments : Developmental version of proposed C++ version of lapack.
Contains blas.h++ etc, but needs Fortran library to link.
Documents : Overview paper (9 pages postscript), release notes (7 page ps)
ftp from netlib2.cs.utk.edu
in lapack++/*
---------------------------------------------------------
MatClass
Description : a C++ class for numerical computation
Author : Chris Birchenhall (chris.birchenhall@mailhost.mcc.ac.uk}
Comments : Very complete.
* Offers a general purpose dense, real matrix class
* Has a family of decomposition classes based on
LU, Cholesky, Householder QR and SVD
* Has a family of OLS regression classes based on
above decompositons
* A family of special function classes
* Random number class
* Has a simplified I/O structure
Documents : Very thorough tex manual, with discussion of design philosophy.
Currently the manual does not cover all the features of the I/O.
ftp from uts.mcc.ac.uk (130.88.200.3)
pub/matclass
---------------------------------------------------------
Blas.cpp.shar.z
Author : Damian McGuckin (damianm@eram.esi.com.au)
Description : a BLAS in C++
ftp from usc.edu
in pub/C-numanal
---------------------------------------------------------
Texas Persistant Store
Paul R. Wilson and Sheetal V. Kakkad
Object-Oriented Programming Systems research group (oops@cs.utexas.edu)
Computer Sciences Dept., University of Texas at Austin
Texas is a free persistent store that can be used with standard C++ compilers,
and works efficiently with very little modification to most C++ programs.
It runs on several varieties of UNIX and should be very easy to port to most
modern operating systems, such as OS/2, Windows NT, Mach, Windows 4.0, etc.
(If things we hear are correct, Linux will provide the necessary virtual
memory features soon, too, and Texas will be ported about fifteen minutes
later. :-)
Texas uses "pointer swizzling at page fault time", an address translation
techique that converts pointers from an abstract format to actual virtual
memory addresses when pages are first touched and brought into memory.
(A similar technique, invented independently, is used in the market-leading
persistent store/OODB, ObjectStore from Object Design Inc.) This allows
Texas to be highly portable, avoiding any assumptions about where a page
of data will be an a process' virtual memory address space; it can also
support very large addresses spaces efficiently on stock 32-bit hardware.
(It could also be used to efficiently provide shared address spaces across
networked heterogenous machines with different hardware address sizes, e.g.,
across 32- and 64-bit machines.)
mailing list : oops@cs.utexas.edu
ftp from cs.utexas.edu
in pub/garbage/texas
More info in pub/garbage/swizz.ps
and pub/garbage/texaspstore.ps
---------------------------------------------------------
wxWindows is a C++ class library for building Motif, Open Look,
Windows 3.1 and NT applications from the same source code. One simple
API is provided for all platforms. wxWindows supports objects such as
frames, subwindows, buttons, list boxes, icons, and bitmaps, and
supports drawing into canvases, PostScript files, Windows printers,
metafiles and bitmaps using the same drawing primitives.
wxWindows provides a hypertext help facility, and a utility for
maintaining documentation in printed and three hypertext formats. It
also provides an interprocess communication API based on DDE, that
works under both Windows 3.1 and UNIX. Documentation is available in
PostScript, RTF, Windows Help, wxHelp and HTML formats.
Julian Smart
Artificial Intelligence Applications Institute
University of Edinburgh
80 South Bridge
Edinburgh
Scotland
EH1 1HN
EMAIL: J.Smart@ed.ac.uk
TEL: 031 650 2746
ftp from skye.aiai.ed.ac.uk (192.41.104.6),
in directory pub/wxwin.
---------------------------------------------------------
CNCL
Universal classes:
* Tree structured class hierarchy, similar to NIHCL.
* Classes for general purposes such as arrays, linked lists,
strings.
* Interface classes for UNIX system calls: pipes, select.
Simulation:
* Event driven simulation.
* Statistical evaluation.
* Random number generators and distributions.
Fuzzy logic:
* Fuzzy sets, fuzzy variables, fuzzy rules and inference
engine for building fuzzy controllers and expert systems.
EZD:
* Interface classes for DEC's ezd graphics server.
This version of CNCL is known to compile and run on the following
systems:
* SUN SPARCstation, SUNOS 4.1.3, GNU g++ 2.3.3/2.4.5,
libg++ 2.3/2.4
* SUN 3/60, SUNOS 4.1.3, GNU g++ 2.3.3/2.4.5,
libg++ 2.3/2.4
* LINUX 0.99.13, GNU g++ 2.4.5, libc 4.4.1, libc 4.4.4 +
libg++ 2.4
Distributed under the GNU Library General Public License.
Communication Networks
Aachen University of Technology
D-52056 Aachen
Germany
Email: mj@dfv.rwth-aachen.de (Martin Junius)
ftp from ftp.dfv.rwth-aachen.de (137.226.4.111)
in directory pub/CNCL
---------------------------------------------------------
RTTI implementation
ftp from invaders.dcrl.nd.edu (129.74.18.54)
in /pub/software/rtti.tar.Z
Arindam Banerji
axb@cse.nd.edu
384 FitzPatrick Hall
Dept. of Computer Science & Engg.
University of Notre Dame
Notre Dame, IN 46556
(219)-631-5273
(219)-631-5772
---------------------------------------------------------
Lily (LIsp LibrarY) C++ class library which gives C++ programmers the
capability to write LISP-style code.
I think Lily will be useful in academia for instructors who
want to teach artificial intelligence techniques with C++. The
garbage collection mechanism employed by Lily is slow which will make it
unattractive for commercial use.
Documentation is minimal. The "Lily User's Guide" (in file lily.txt) provides
a good overview of the architecture of Lily -- the document is unfinished.
All of the example programs are from Winston's book "LISP Second Edition" so
you will be much better off if you have a copy. Steele's "Common LISP"
describes the behavior of the LISP functions.
Lily uses the GNU Library General Public License.
Lily works well with GNU g++ version 2.4.5 (and probably earlier releases).
Lily works with Turbo C++ for Windows but not with Turbo C++ (though the
current version hasn't been tested with Turbo C++ for Windows).
Lily does *not* work with AT&T's cfront because cfront does not handle
temporary objects very well.
ftp from sunsite.unc.edu (152.2.22.81)
in /uploads/lily-0.1.tar.gz
---------------------------------------------------------
DiamondBase is a library of C++ routines and utilities that allow you
to add Relational Database functionality to your C++ programs. It
is written entirely in C++, and great pains have been taken to
ensure it compiles under a variety of compilers including gcc,
cfront and Borland's C++ compiler for OS/2. It runs on a wide
variety of Unix platforms and OS/2. There are no plans to support
DOS or Windows at the moment. It comes with a 47 page manual.
Contact:
darrenp@dibbler.cs.monash.edu.au
kevinl@bruce.cs.monash.edu.au
davison@molly.cs.monash.edu.au
ftp from pippin.cs.monash.edu.au
in pub/export/?
---------------------------------------------------------
GINA++ - An O-O application framework for C++, X11R5, and OSF/Motif
Requires: AT&T 3.0 based C++ compiler (Sun C++ 2.0.1), X11R5, Motif 1.2
Platforms supported: Sun Sparc, HP
GINA++ (The Generic INteractive Application for C++) is an object-
oriented application framework that facilitates the development of
applications with a graphical user interface. It is written in C++ and
uses OSF/Motif and X for the user interface parts. GINA++ comes as a
library of C++ classes, 10 small to medium demo applications, and it is
fully documented.
Components of GINA++ are: (1) A C++ encapsulation of OSF/Motif providing
easy-to-use mechanisms for deriving new widget classes completely in C++,
(2) Support for object-oriented graphics (rectangles, arrows, circle,
etc), (3) An unlimited undo/redo history mechanism, (4) supporting
classes for data structures (list, arrays, etc), run-time type
information, and a notification mechanism.
The classes of GINA++ constitute an executable program - the generic
application - which possesses the basic functionality and the user
interface components common to all interactive graphical applications,
but lacks any application-specific behavior. The predefined functionality
and behavior is inherited by deriving subclasses from the existing GINA++
classes. Application specific behavior is implemented by adding new
classes and member functions. Differences to the standard application are
coded by refining virtual member functions inherited from GINA++.
Author: Andreas Baecker (baecker@gmd.de),
GMD,
P.O. Box 1316,
D-53731 Sankt Augustin
ftp from ftp.gmd.de:
in /gmd/ginaplus
or ftp.x.org:
in /contrib
---------------------------------------------------------
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 many of the Perl
constructs and data types.
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, String, Regular Expression, and text
manipulation handling capabilities based on those provided in Perl.
This is available as a compressed tar file, shar file, .zoo or .zip format
with MSDOS compatible names.
contact: morris@netcom.com
ftp from netcom.com
in pub/morris/splash.tar.Z
and pub/morris/splash.shar.Z
and pub/morris/splash.zip (DOS)
and pub/morris/splash.zoo (DOS)
---------------------------------------------------------
OSE consists of three C++ class libraries, a build environment based on
GNU make, programs for documentation extraction and other miscellaneous
tools.
The C++ libraries include generic classes and some UNIX specific classes.
Collection classes use templates compatable with AT&T C++ 3.0. If you
have a C++ compiler which does not support templates, a template
preprocessor supplied with OSE can be used.
OSE uses a GNU style configure script, making it relatively easy to
install, even on platforms for which it may not yet have been compiled.
For DOS users, a script is provided to create a copy of the C++ libraries
suitable for compilation on that platform.
To get further information about OSE, without actually fetching the
complete package, either fetch the file "ANNOUNCE" from one of the
ftp sites below, or send mail to:
ose@research.otc.com.au
Europe:
ftp from ftp.th-darmstadt.de [130.83.55.75]
in directory pub/programming/languages/C++/class-libraries/OSE
United States:
ftp from straylight.acs.ncsu.edu [152.1.65.11]
in directory /pub/ose
Australia:
ftp from csis.dit.csiro.au [192.41.146.1]
in directory 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)
or from cs.ucl.ac.uk [128.16.5.31]
in coside/gnu/sockets++.tar.z
---------------------------------------------------------
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.
---------------------------------------------------------
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
Author : Robert Davies (robertd@kauri.vuw.ac.nz)
Comments : Optimized expression evaluation. Many decompositions.
Systems : Unix (g++ 2.3.3 ok), MS-DOS (Borland C++)
People trying to run under Gnu or Watcom should contact the author
for a list of patches.
ftp from unix.hensa.ac.uk
in /pub/uunet/usenet/comp.sources.misc/volume34/newmat07
or from plaza.aarnet.edu.au (139.130.4.6):
in /micros/pc/oak/cplusplus/newmat07.zip
---------------------------------------------------------
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
or from ccvr1.cc.ncsu.edu (128.109.212.20)
in pub/arg/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 and probably most Unix-like systems that have
a working g++/libg++.
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)
Description : A class library for Kalman filtering
Comments : Contains lumatrix.c++ etc.
Language : g++ 2.4.2 tested OK.
ftp from usc.edu
in pub/C-numanal/kalman.tar.gz
---------------------------------------------------------
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
Comments : A C++ interface to existing C and FORTRAN matrix libraries.
Documents : LaTeX manual.
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 range 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 usc.edu
int /pub/C-numanal/femlib-1.1.tar.gz
---------------------------------------------------------
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 (C++Wrapper).
This release contains contains the source code, documentation, and
example test drivers for a number of C++ wrapper libraries and higher-
level distributed application frameworks developed as part of the
ADAPTIVE project at the University of Calfornia, Irvine.
The C++ wrappers encapsulate many of the user-level BSD and System V
Release 4 IPC facilities such as sockets, TLI, select and poll, named
pipes and STREAM pipes, the mmap family of memory-mapped file commands,
System V IPC (i.e., shared memory, semaphores, message queues), and
explicit dynamic linking (e.g., dlopen/dlsym/dlclose) using type-secure,
object-oriented interfaces.
The higher-level distributed application frameworks integrate and enhance
the lower-level C++ wrappers to support the configuration of concurrent
network daemons composed of monolithic and/or stackable services
A relatively complete set of documentation and extensive examples are
included in the release. A mailing list is available for discussing bug
fixes, enhancements, and porting issues regarding ACE. Please send mail
to ace-users-request@ics.uci.edu if you'd like to become part of the
mailing list.
ftp from ics.uci.edu (128.195.1.1)
in gnu/C++_wrappers.tar.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
---------------------------------------------------------
XMS200JE.ZIP -- XMS array class library
Wrapper classes to access XMS, UMBs and the HMA, as well as a templated
XMS array class. Test suites and timing programs provided for each class.
Source included. Free. 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.
European users might like to try ftpmail@grasp.insa-lyon.fr instead.
---------------------------------------------------------
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------------------------------------------------------
DCE++: A C++ API for Programming Distributed Systems
William Leddy, Arjun Khanna (arjun@hal.com)
HaL Computer Systems, Austin, Texas.
DCE++ is a set of ANSI C++ classes that enable the rapid prototyping of
distributed programs. The goal of DCE++ is to provide a platform
independent C++ API to the significant components used in distributed
computing. Namely: RPC, threads, Security and Naming across the widely
used distributed computing platforms such as DCE, ONC and WNT.
It is expected that by encapsulating platform dependencies inherent in
setting up rpcs, security etc. in DCE++ base classes, program development
time can be drastically reduced. Moreover, a foundation can be provided
for developing *portable* distributed program development tools.
The second *evaluation* version of DCE++, version 0.4, has been released
on Dec 2'93. The release includes C++ bindings for remote procedure calls
over DCE and ONC. A C++ threads api for programming DCE threads. A C++
threads api for programming DCE distributed Time Service. The release is
available free of charge upon signing a very liberal license agreement.
The license agreement is obtainable by anonymous ftp from hal.com. It is
in the directory dce++. The same directory also contains the release
notes for the 0.4 version and plans for 0.5 features. To obtain the code,
please send the signed license agreement to:
Arjun Khanna, FAX (U.S country code) 512-794-8737
---------------------------------------------------------
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
~~~~~~~~~~~~~~~~~~~~
---------------------------------------------------------
Persistence is supposed to give access to a relational database from
a C++ object model.
Persistence Software Inc
1700 Sourth Amphlett Blvd, Suite 250
San Mateo, Ca 94402
415.341.7733
---------------------------------------------------------
Tools.h++ is the basic Rogue Wave tools library.
Tools.h++ consists mostly of a large and rich set of concrete classes
that are usable in isolation and do not depend on other classes for their
implementation or semantics.
Components include Collections, String processing, Time & date handling, File space
manager, B-Tree disk retrieval, bit vectors, virtual I/O streams, caching
managers, virtual arrays, etc.
Rogue Wave Software, Inc.,
1325 NW 9th Street
Corvallis
OR, 97330
(503) 754-2311.
---------------------------------------------------------
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)
---------------------------------------------------------
Financial and other class libraries
I have no product details at present)
Greenleaf Software, Inc.
16479 Dallas Parkway, Suite 570
Dallas,
Texas 75248
---------------------------------------------------------
Other Commercial sources of C++ code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------------------------------------------------------
The USL UNIX Toolchest is an electronic catalog for browsing and ordering
source software. This catalog provides unsupported software products,
developed within AT&T, for the commercial UNIX world. As you browse
through the online catalog, you'll find descriptions of all the tools,
complete with information on memory and disk requirements, documentation,
and license fees.
United States and Canada, may access the Toolchest by dialing 1-908-522-
9600(e-7-1) and logging in as "guest".
---------------------------------------------------------
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The index of resources for numerical computation in C or C++.
ftp from usc.edu in pub/C-numanal/numcomp-free-c.gz
---------------------------------------------------------
comp.object FAQ
---------------------------------------------------------
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 & Unix consultancy) cpplibs@trmphrst.demon.co.uk
trmphrst.demon.co.uk is NOT affiliated with ANY other sites at demon.co.uk.