Archive-name: C++-faq/libraries Comp-lang-c++-archive-name: C++-faq/libraries Last-modified: 1994/02/19 Here is the latest 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.209), 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. However, please DO NOT mail me with requests for assistance in finding files mentioned in the list. I am unable to provide such a service. Definite information such as "file xyz is no longer at site xxx" IS welcome - even better if you can tell me an alternative site where it can be found. If you are new to the Internet, try to find out about tools such as archie, whois, www, gopher etc. I recommend the newsgroup "news.answers" for starters. 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 /pub/packages/development/libraries/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@motif.hacktic.nl". Tel: +31 33 758 293 (if desparate !) mailing list : motif++@motif.hacktic.nl subscriptions : motif++-request@motif.hacktic.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, including extensive regex regular expression pattern matching. 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 The primary Simtel site is oak.oakland.edu, but there are many mirror sites all over the world. 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 ~~~~~~~~~~~~~~~~~~~~ --------------------------------------------------------- SOFTPRO TOUCH-GUI C++ class library for OS/2: SOFTPRO GmbH has announced its new 32bit C++ class library TOUCH-GUI 2.1 for OS/2 2.x. The product contains more than 140 classes which support windows, menu bars, multi-threading, controls (including all OS/2 2.x controls: slider, value set, notebook, container), dialog boxes, graphics, printer control, MDI, DDE, Drag and Drop, loadable resources, and management of profiles (.INI files). Other features include auxiliary classes for data manipulation and storage management. Additionally, TOUCH- GUI 2.1 contains high-level classes like formatted entry fields, tables, and complete NLS. Furthermore, TOUCH-GUI 2.1 is fully integrated in STAR CASE++, an OOA/OOD case tool (method: Coad/Yourdon), and Intersolv's PVCS (a version control system). Supported C++ compilers are: Borland, GNU (emx), IBM, and WATCOM The product includes online (.INF) and printed documentation, a demo program, and samples. Planned availability: April, 1994 TOUCH-GUI 2.1 costs DM 1.720,00 excl. VAT (ca. US $990), the runtime DLL's may be distributed royalty free. For upgrade prices and special project licenses (including source code of TOUCH-GUI) contact the supplier. NOTE: TOUCH-GUI 2.1 single license will be available at a special price of DM 199,00 excl. VAT (ca. US $120) during 04/01/94 - 06/30/94. Printed documentation is not shipped with the special price product, it is available for another DM 99,00 excl. VAT (ca. US $60). However, full online documentation is included. SOFTPRO GmbH, Stadtgrabenstr. 21, D-71032 Boeblingen, Germany, Tel.: +49 7031 6606-0 Mr. Frank Fuchs (extension -50) Fax: +49 7031 6606-66, email: ffu@softpro.de, IBMMAIL (IEA): DEJP9SK9 --------------------------------------------------------- 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. email: info@roguewave.com Rogue Wave Software, Inc., 1325 NW 9th Street Corvallis OR, 97330 (503) 754-2311 Fax: (503) 757-6650 --------------------------------------------------------- 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 email: info@roguewave.com Rogue Wave Software, Inc., 1325 NW 9th Street Corvallis OR, 97330 (503) 754-2311 Fax: (503) 757-6650 --------------------------------------------------------- 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 email: info@roguewave.com Rogue Wave Software, Inc., 1325 NW 9th Street Corvallis OR, 97330 (503) 754-2311 Fax: (503) 757-6650 --------------------------------------------------------- Classix In addition to Rogue Wave, Empathy offers a good general-purpose library called Classix. I do not have confirmed information, but I have been told that this library is no longer available. 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) nikki@trmphrst.demon.co.uk trmphrst.demon.co.uk is NOT affiliated with ANY other sites at demon.co.uk.