[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: Available C++ libraries FAQ (3/6)

This article was archived around: 07 Aug 2000 07:54:59 GMT

All FAQs in Directory: C++-faq/libraries
All FAQs posted in: comp.lang.c++
Source: Usenet Version

Archive-name: C++-faq/libraries/part3 Comp-lang-c++-archive-name: C++-faq/libraries/part3
Available C++ libraries FAQ (3/6) ================================= Contents ~~~~~~~~ Introduction (part1) Adding or amending entries (part1) Changes since the last update (part1) Libraries available via FTP (A-L) (part2) Libraries available via FTP (M-Z) (this file) Tools for C++ Programmers (part4) Libraries with no known FTP site (part4) Source code from books (part4) Other places to look for details of C++ libraries (part4) Useful ftp sites (part4) Commercial libraries (A-N) (part5) Commercial libraries (O-Z) (part6) Other commercial sources of C++ code (part6) ------------------------------------------------------------------------ Libraries available via FTP (M-Z) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MatClass - a C++ class for numerical computation 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. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Chris Birchenhall FTP from ftp://ftp.mcc.ac.uk/pub/matclass/unix FTP from ftp://ftp.mcc.ac.uk/pub/matclass/pc Email:chris.birchenhall@mailhost.mcc.ac.uk ------------------------------------------------------------------------ MATCOM - Matlab to C++ translator and matrix library MATCOM V2 translates Matlab source files (M-Files) to C++ source code. The resulting code is linked with the supplied C++ Matrix class library to create MEX files or stand alone executables. The C++ code and library can be integrated in products, royalty free, saving the need to translate the algorithm prototype. Compiled code runs significantly faster than the original interpreted source. Source code created highly resembles the original code using C++ language features. The compilation is fully automated by a smart project manager. Matrices of doubles, floats, ints and chars are supported, providing lower memory usage for many applications, especially Signal and Image Processing. Evaluation version (fully functional, 30 days limited) is available for free download from the Web page. Information packet is also available by e-mail and fax. An introductory price for MATCOM V2 is 300$ for a single user license, with discounts on quantity and for academic institutes. Prices are valid until Jan 1, 1997. Operating Systems: - PC DOS - PC Windows - PC 32-bit Windows - Linux - SunOS - Solaris - SGI Irix - Dec OSF/1 - Dec Alpha - HP UX - IBM AIX - OS/2 Compilers: - Gnu CC - Visual C++ - Watcom C++ - Borland C++ - SGI CC - Dec CC - IBM xlC - Sun CC - HP C++ - EMX - DJGPP Added : 05/02/96 Amended : 08/08/96 Licencing : Commercial Fax:1-215-9571719 Fax:1-888-MATHTOOLS WWW http://www.mathtools.com Email:info@mathtools.com Postal address:MathTools LTD, P.O.Box 855, Horsham, Pennsylvania, USA 19044-0855 ------------------------------------------------------------------------ Matrix - A C++ Matrix class A C++ Matrix class, including a matrix implementation of the backward error propagation (backprop) algorithm for training multi-layer, feed- forward artificial neural networks. A C++ interface to existing C and FORTRAN matrix libraries. LaTeX manual. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:E. Robert (Bob) Tisdale FTP from ftp://ftp.cs.ucla.edu/pub/Matrix.tar.Z Email:edwin@cs.ucla.edu ------------------------------------------------------------------------ Matrix class - Very complete matrix generic class The Matrix Library is designed for signal processing and data manipulation. The Matrix class is written with generic code, allowing you to use the matrix operators on various data types, including the Complex data type (default is double). One of its useful features is the ability to plot matrix data using the free software gnuplot. You can download the postscript documentation matrix.ps.gz [133 Ko] alone or dowload the complete package (including the documentation and the Complex library) matrix.tgz [164 Ko]. Operating Systems: - IBM AIX - Linux - Solaris - Sparc - SunOS - Unix - X Windows Compilers: - Gnu CC - Sun CC Added : 27/11/97 Amended : 27/11/97 Licencing : Public Domain WWW http://wwwinfo.cern.ch/~ldeniau/numana.html/matrix.ps.gz WWW http://wwwinfo.cern.ch/~ldeniau/numana.html/matrix.tgz Submitted by:Laurent.Deniau@cern.ch - DENIAU Laurent ------------------------------------------------------------------------ Matthew's Galib - A C++ Genetic Algorithm Library GAlib is a C++ library that contains a set of genetic algorithm objects. With GAlib you can add genetic algorithm optimization techniques to your program using any data representation and many different genetic algorithm operators. The library includes genomes based upon binary string, array, tree, and list data structures, and you can create your own genomes by simply deriving a new class from the base genome and any data structure that you may be using already. Many scaling, selection, termination, initialization, mutation, and crossover methods are included in the library, and you can override any of the defaults with operators.of your own design. Operating Systems: - SGI Irix - IBM AIX - Dec MIPS Ultrix - Solaris - HP UX - MacOS - PC Compilers: - Cfront - DCC - Gnu CC - MetroWerks CodeWarrior - Symantec THINK C++ - Borland Turbo C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Non commercial FTP from ftp://lancet.mit.edu/pub/ga/ WWW http://lancet.mit.edu/ga/ ------------------------------------------------------------------------ MetaKit - A portable C++ class library for persistent structured data Store and retrieve structured data. Features: on-demand loading, failsafe commit/rollback, portable and streamable data files, simple API in a few C++ classes. Comes with hypertext intro, many source code examples including disk catalog and Winsock client/server, and Winhelp API reference guide. No royalties. Link as DLL or LIB, Win32/Win16/Dos libs included. The shareware version is only for Windows and MFC. Registered users can obtain all library versions, including debug versions, and will be notified of new revisions and updates. Full web/email/fax support. MetaKit is freely distributable as shareware. It must be registered after the 30-day trial period: US$ 25 for personal/non-profit use. For all other purposes the source code version must be purchased (Windows/MFC $90, all others: Universal $165). Operating Systems: - PC DOS - PC Windows - Unix - Mac - OpenVMS Compilers: - Visual C++ - Symantec C++ - Watcom C++ - Borland C++ - Gnu CC - MetroWerks CodeWarrior - Dec CC Added : 22/03/96 Amended : 14/11/96 Licencing : Shareware Author:Jean-Claude Wippler Fax:+31-30-635-2337 WWW http://purl.net/meta4/metakit.zip - Metakit home page WWW http://purl.net/meta4/metakit.zip WWW http://purl.net/meta4/metakit - MetaKit home page Email:jcw@meta4.nl ------------------------------------------------------------------------ MIME++ - A class library for creating and parsing messages in MIME format Features - Intuitive object-oriented architecture. - Designed from the beginning to permit user customization or extension through inheritance (subclassing of library classes) and polymorphism. - Class names are taken directly from the BNF grammars given in RFC-822 and RFC-1521. - Supports all MIME types and subtypes documented in RFC-1521, including multipart, message, and application types. - Supports quoted-printable and base64 content transfer encodings. Other uuencode, binhex, and others will be supported soon. - Provides high-level, wrapper classes BasicMessage, MultipartMessage, and MessageWithAttachments that are easy to use. These wrapper classes also serve as examples showing how to use the basic library classes. MIME++ should compile with just about any C++ compiler. The system-dependent features, which are few, are oriented toward UNIX systems. Operating Systems: - Linux - Dec Unix - Silicon Graphics - PC DOS - PC Windows - Sun Compilers: - Gnu CC - SGI CC - Borland C++ - Sun CC - MetroWerks CodeWarrior Added : 25/11/96 Amended : 25/11/96 Licencing : Non commercial Author:Doug Sauder WWW http://www.fwb.gulf.net/~dwsauder/mimepp.html - MIME++ Web Page Email:dwsauder@tasc.com - author's alternate email address Email:dwsauder@fwb.gulf.net - author's preferred email address ------------------------------------------------------------------------ molbio++ - 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 Added : 01/01/95 Amended : 05/12/97 Licencing : Not known Author:Keith Robison FTP from ftp://ftp.ebi.ac.uk/pub/software/unix/ - Confirmed site found by Claude Pasquier FTP from ftp://golgi.harvard.edu/pub/CONTRIBUTIONS/molbio++ FTP from ftp://ftp.ebi.ac.edu/ - Alternative site found by Herve Recipon ------------------------------------------------------------------------ Motif++ - 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 Operating Systems: - X Windows - Motif Compilers: - Cfront Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Ronald van Loon FTP from ftp://src.doc.ic.ac.uk/packages/motif++/motif++.28.jul.93.tar.gz FTP from ftp://ftp.wg.omron.co.jp/pub/X11/misc/MOTIF.AND.WIDGETS/Motif++.tar.Z FTP from ftp://nrcnet0.nrc.ca/pub/motif++/motif++.28.jul.93.tar.gz FTP from ftp://decuac.dec.com//pub/X11/motif++.28.jul.93.tar.gz Email:motif++-request@motif.hacktic.nl Email:motif++@motif.hacktic.nl Email:rvloon@motif.hacktic.nl Tel:+31 33 758 293 (if desparate !) ------------------------------------------------------------------------ MozillaV3 CGI C++ Library - Web HTML code generation library This public domain portable C++ library is the basis of a CGI. It contains all external aspects that should be required by a CGI script, from options to hash containers. It provides one minute implementation of hours of work and allows optimal performance and ease of use. Writing a guestbook using this library which can be used by as many people as wanted is a question of minutes! This Mozilla-V3 library is in a state of providing all internal structures to write virtually any kind of html output CGI. This library was written for an HTML based forum (called aGNeS) that is successfully running for hundreds of users all over the world. It is open for all suggestions and modifications. Unfortunately, the senders mail to me was truncated, so I do not know where you can get this library. Compilers: - Gnu CC - Visual C++ Added : 04/12/97 Amended : 04/12/97 Licencing : Public Domain Submitted by:doubrov5@cuimail.unige.ch, dblock@infomaniak.ch - Daniel Doubrovkine ------------------------------------------------------------------------ MTL110JE.ZIP - Multithreading class library DOS PC/Borland C++ specific. Operating Systems: - PC DOS Compilers: - Borland C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://oak.oakland.edu/pub/msdos/cplusplus/ FTP from ftp://garbo.uwasa.fi/pc/c-lang/ ------------------------------------------------------------------------ Newmat - A very thorough matrix class This library supports classes Matrix, UpperTriangularMatrix, LowerTriangularMatrix, DiagonalMatrix, SymmetricMatrix, BandMatrix, UpperBandMatrix, LowerBandMatrix, SymmetricBandMatrix, RowVector, ColumnVector. Only one element type is supported. It includes the operations *, +, -, concatenation, elementwise product, inverse, transpose, conversion between types, submatrix, determinant, Cholesky decomposition, QR triangularisation, singular value decomposition, symmetric eigenvalue analysis, fast Fourier and trig. transforms, sort, print, an interface to "Numerical Recipes in C" programs, and an emulation of exceptions. Compilers: - Borland C++ - Watcom C++ - Visual C++ - Gnu CC - Cfront - Sun CC - HP C++ Added : 01/01/95 Amended : 27/11/97 Licencing : Copyrighted freeware Author:Robert Davies FTP from ftp://oak.oakland.edu/pub/simtelnet/msdos/cpluspls/newmat08.zip FTP from ftp://webnz.com/robert/newmat09.tar.gz FTP from ftp://webnz.com/robert/newmat09.zip WWW http://webnz.com/robert/ Email:robertd@netlink.co.nz ------------------------------------------------------------------------ NIHCL - (National Institute of Health's C++ Library) NIHCL 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. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://alw.nih.gov/pub/nihcl.tar.Z ------------------------------------------------------------------------ nlmdl - A library for estimation of nonlinear models Nonlinear maximisation, estimation, includes a real matrix class Operating Systems: - Unix - PC DOS Compilers: - Borland Turbo C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:A. Ronald Gallant FTP from ftp://ccvr1.cc.ncsu.edu/pub/arg/nlmdl FTP from ftp://ftp.uu.net/usenet/comp.sources.misc/volume16/nlmdl Email:arg@ccvr1.cc.ncsu.edu ------------------------------------------------------------------------ O-Matrix - RAD environment for scientific and engineering applications Harmonic Software has released O-Matrix 3.1 for Windows, a RAD environment (Rapid Application Development), for scientific and engineering applications. The new version of O-Matrix includes extensive capabilities for developing visually-oriented, easy-to-use technical applications. This enables the development of user-friendly applications significantly faster than traditional visually-oriented compilers and with performance that is dramatically faster than typical interpreted matrix languages. In addition O-Matrix version 3.1 includes an improved user interface for more productive application development and simplified interactive usage. Many functions have been added including routines for Kalman filtering, wavelet analysis and advanced statistics. Operating Systems: - PC Windows Added : 19/03/97 Amended : 19/03/97 Licencing : Copyrighted freeware Author:Harmonic Software Fax:1-206-367-1067 WWW http://world.std.com/~harmonic Email:harmonic@world.std.com Postal address:12223 Dayton Avenue North, Seattle, WA 98133 Tel:1-800-895-4546 ------------------------------------------------------------------------ OATH - Object oriented Abstract Type Hierarchy OATH 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. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://csc.ti.com/pub/oath.tar.Z ------------------------------------------------------------------------ Objtran and Objdce Objtran is a set of C++ class libraries that provide a higher-level abstraction for programmers developing applications using OSF's DCE and Transarc's Encina. Objtran actually consists of two separate libraries -- Objdce and Objtran. Objdce makes it easier to write DCE applications by abstracting some of the more complex aspects of DCE. A class is included that can manage an RPC server, interacting with the DCE Name Service and Security Service as desired. Another class manages a client's binding to a server and encapsulates Name Service lookups. Other classes allow the programmer to use threads and various forms of mutual-exclusion locks, report errors consistently, utilize Access Control Lists, handle timestamps from the DCE Time Service, and perform UUID manipulation. Objtran is built on top of Objdce, and adds support for the Encina distributed transaction service. It is intended to be used with C++ programs instead of the "Transactional C" macro package. It fully encapsulates the Encina TRAN and TRPC facilities with a few easy-to-use classes. It also provides an efficient recovery service for proper control of distributed transactions, and has support for the TM/XA service, allowing interoperability with XA-compliant databases. Support for the Encina Monitor is being implemented so programs may, with very few code changes, use either the smaller and more efficient bare Objtran environment or the more sophisticated Monitor. This software is Copyright 1993-1994 by Citibank, N.A. Permission is granted to use, copy, modify and distribute the software and its documentation without fee. The software is distributed with no warranty of any kind. Added : 01/01/95 Amended : 01/01/95 Licencing : Copyrighted freeware FTP from ftp://wilma.cs.brown.edu/pub/Objtran.tar.Z Email:objtran-comment@fig.citib.com ------------------------------------------------------------------------ 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. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Fax:++49-721-9654-609 FTP from ftp://gate.fzi.de/pub/OBST/ Email:stone@fzi.de Postal address:Forschungszentrum Informatik FZI, STONE Projekt, Haid-und-Neu-Strasse 10-14, D-7500 Karlsruhe 1, Germany Tel:++49-721-9654-601 ------------------------------------------------------------------------ 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. Operating Systems: - Sparc - Dec Ultrix - Linux - Unix - IBM AIX Compilers: - Gnu CC Added : 01/01/95 Amended : 01/01/95 Licencing : GNU copyleft Author:John W. Eaton FTP from ftp://ftp.che.wisc.edu/pub/octave/octave-M.N.tar.Z Email:jwe@che.utexas.edu ------------------------------------------------------------------------ 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. Operating Systems: - Sparc Compilers: - Sun CC Added : 01/01/95 Amended : 01/01/95 Licencing : Education FTP from ftp://research.att.com./dist/ode2.0/2.0.oppbin.tar.Z Email:nhg@research.att.com Postal address:Narain Gehani, AT&T Bell Labs 3D-414, 600 Mountain Ave, Murray Hill, NJ 07974 ------------------------------------------------------------------------ ooMPEG - Berkeley MPEG decoder A reentrant, multi-threaded version of the Berkeley MPEG decoder Operating Systems: - Sun - Sparc - Solaris - HP UX - SGI Irix - SunOS Added : 05/02/96 Amended : 05/02/96 Licencing : Non commercial FTP from ftp://ftp.cs.brown.edu/pub/ooMPEG.tar.Z WWW http://www.cs.brown.edu/software/ooMPEG/ Email:lsh@cs.brown.edu ------------------------------------------------------------------------ Options - command-line option parsing library Options is a full-featured C++ class library for parsing options on the command-line. It uses the getopt() style of option parsing but provides a lot more features and has configurable behavior.es. Operating Systems: - OS/2 - PC DOS - PC Windows - Unix Compilers: - Borland C++ - Cfront - Gnu CC Added : 19/03/97 Amended : 19/03/97 Licencing : Copyrighted freeware WWW http://www.enteract.com/~bradapp/ftp/ - Options option parser ------------------------------------------------------------------------ OSE - C++ Library and Build Environment OSE is a development environment for C/C++ programmers. The major components of OSE are a generic C++ class library, documentation tools and build environment. The C++ class library includes support for error handling, error message logging, error recovery, program debugging, memory management, resource management, object containment, strings and symbols, pattern matching, operating system interfacing, simulation and event driven systems. OSE can be used with all major C++ compilers and UNIX platforms as well as Windows NT and Windows 95. OSE has been integrated for use with the ObjectStore OODBMS from Object Design. OSE was a winner at CODA '94, the ComputerWorld Object Developer Awards, held in conjunc! tion with ObjectWorld in Sydney, Australia. The category in which OSE was successful was "Best implementation of a reuseable development environment for company deployment". Operating Systems: - PC 32-bit Windows - Unix Compilers: - Cfront - Dec CC - Gnu CC - HP C++ - IBM xlC - SGI CC - SGI NCC - Sparcworks - Sun CC - Visual C++ - KAI CenterLine Novell Lucid ObjectStore - Borland C++ Added : 22/05/96 Amended : 22/05/96 Licencing : Copyright (other) Author: Graham Dumpleton FTP from ftp://ftp.dscpl.com.au/pub/ose WWW http://www.dscpl.com.au Email:info@dscpl.com.au ------------------------------------------------------------------------ P++ - Parallel Programming Classes for C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Dan Quinlan FTP from ftp://ftp.c3.lanl.gov/pub/dquinlan/ WWW http://www.c3.lanl.gov/~dquinlan/A++P++.html WWW http://www.c3.lanl.gov/~dquinlan/home.html Email:dquinlan@lanl.gov Email:dquinlan@c3serve.c3.lanl.gov ------------------------------------------------------------------------ paintlib - Image file decoding Paintlib is a C++ class library for image file decoding and manipulation. It currently supports the TGA, TIFF, JPEG/JFIF, Windows BMP, and Mac PICT formats. Data source and destination formats can be tailored as nessesary. Additionally, format-independent but fast bitmap manipulation classes are available. Although there are a few Windows-specific functions, the library is portable. Makefiles are included for Microsoft Visual C++ (Win32) and GNU C++ (DOS and SunOS). Prerequisite is a C++-compiler with standard C libraries and support for exception handling. The library also requires support for 32-bit memory addressing. Operating Systems: - PC 32-bit Windows - Solaris Compilers: - Gnu CC - Visual C++ Added : 19/03/97 Amended : 19/03/97 Licencing : Copyrighted freeware WWW http://www.cs.tu-berlin.de/~uzadow/paintlib - Paintlib web site. ------------------------------------------------------------------------ ParLib++ - Parallel Programming Classes for C++: Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:David Greco Email:David.Greco@crs4.it ------------------------------------------------------------------------ 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. Operating Systems: - PC DOS - Unix Compilers: - Gnu CC - Borland C++ - Visual C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://ftp.mv.com/pub/ddj/1992/1992.12/parody.zip ------------------------------------------------------------------------ pC++ - A preprocessor for C++ that implements a data parallel extension Operating Systems: - CM5 - Paragon - KSR-1 - Sequent - BBNTC2000 - Unix Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Email:gannon@cs.indiana.edu ------------------------------------------------------------------------ PDBlib - Library for modeling a macromolecular structure 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. The following files are available : - 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. Operating Systems: - SGI Irix - Sparc - Convex - Dec Alpha Compilers: - Cfront - Dec CC Added : 01/01/95 Amended : 01/01/95 Licencing : Copyright (other) Author:Phil Bourne (general comments, criticisms, questions about future directions) Author:Ilya Shindyalov (PDBview) Author:Weider Chang (PDBlib) FTP from ftp://cuhhca.hhmi.columbia.edu/pub/programs/PDB/PDBlib/ Email:system@cuhhca.hhmi.columbia.edu Email:shindyal@cuhhca.hhmi.columbia.edu Email:weider@cuhhca.hhmi.columbia.edu ------------------------------------------------------------------------ Presto - C++ routines for lightweight threads on multiprocessors. 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 Operating Systems: - Unix Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Brian N. Bershad, Edward D. Lazowska, Henry M. Levy FTP from ftp://cs.washington.edu/pub/presto1.0.tar.Z ------------------------------------------------------------------------ PTL - Portable Threads Library - C++ interface to POSIX/Sun/DCE threads PTL is a free library (GNU LGPL license) to ease the port and debug of multithreaded applications. PTL provides an object interface (C++) to threads and synchronisation abtractions provided by existing threads packages. PTL is tiny (current size is 55K gziped). Currently supported architectures/machines are: - Dec alpha/OSF1 DEC threads. (Native DCE threads) - Dec alpha/OSF1 MIT Pthread (Pthread-1.60-b4 from C. Provenzano) - Sun Sparc/SunOs4.1.x MIT Pthread (Pthread-1.60-b4 from C. Provenzano) - Sun Sparc/SunOs4.1.x LWP threads (Native user level SunOS threads) - Sun Sparc/Solaris Pthreads (Native kernel Solaris threads) Operating Systems: - Dec Alpha - Dec OSF/1 - Solaris - Sparc - SunOS Compilers: - Gnu CC Added : 13/11/96 Amended : 10/04/97 Licencing : GNU copyleft FTP from ftp://alix.inria.fr:/pub/thread-lib/thread.tgz - Latest release WWW http://www-sor.inria.fr/~bruncott/PTL - Online Documentation Email:Georges.Brun-Cottan@inria.fr ------------------------------------------------------------------------ Radix-2 - Fast Fourier Transform Radix-2 DFT of a real or complex sequence, or sin/cos/complex Fourier integral of an evenly tabulated function. The input can be either real or complex with/without zero padding, the full complex transform or only real/im/abs_value part of it can be obtained. Test drivers and test run outputs are included, too. Commented. Needs LinAlg.shar, v3.2 Operating Systems: - Unix - Mac Compilers: - Gnu CC - MetroWerks CodeWarrior Added : 01/01/95 Amended : 22/05/96 Licencing : Not known Author:Oleg Kiselyov Author:Oleg Kiselyov FTP from ftp://replicant.csci.unt.edu/pub/oleg/fft.tar.gz FTP from ftp://netlib.att.com/netlib/c++/fft.shar.Z WWW http:cpplibs2.html#LinAlg.shar Email:netlib@research.att.com Email:oleg@unt.edu Email:oleg@ponder.csci.unt.edu Email:oleg@ponder.csci.unt.edu ------------------------------------------------------------------------ Range - C++ class for range arithmetic. Associated with article in TOMS, Dec 1992 title "Precise computation using range arithmetic, via C++". Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Oliver Aberth and Mark J. Schaefer FTP from ftp://math.tamu.edu/pub/range/range.tar.Z ------------------------------------------------------------------------ RTTI implementation Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Arindam Banerji FTP from ftp://invaders.dcrl.nd.edu/pub/software/rtti.tar.Z Email:axb@cse.nd.edu Postal address:384 FitzPatrick Hall, Dept. of Computer Science & Engg., University of Notre Dame, Notre Dame, IN 46556 Tel:(219)-631-5772 Tel:(219)-631-5273 ------------------------------------------------------------------------ RTTI library Till RTTI becomes a part of regular compilers these RTTI libraries provide an excellent tool for the same purpose. The library is claimed to be portable. No licence restrictions. Added : 01/01/95 Amended : 01/01/95 Licencing : Public Domain Author:Arindam Banerji Fax:(219)-631-9260 FTP from ftp://invaders.dcrl.nd.edu/pub/software/rtti.tar.Z Email:axb@cse.nd.edu? Email:axb@defender.dcrl.nd.edu Tel:(219)-631-5273 ------------------------------------------------------------------------ SA - Library for simulated annealing Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Skip Carter FTP from ftp://usc.edu/pub/C-numanal/sa.zoo Email:skip@taygeta.oc.nps.navy.mil ------------------------------------------------------------------------ Sdeint A Runge-Kutta like class for integrating systems of Stochastic Differential Equations. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Skip Carter FTP from ftp://usc.edu/pub/C-numanal/sdeint.tar.z Email:skip@taygeta.oc.nps.navy.mil ------------------------------------------------------------------------ SESAME - Neural net software ? Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:C. Tietz FTP from ftp://ftp.gmd.de//gmd/as/sesame ------------------------------------------------------------------------ simC - C/C++ function library for discrete simulation SimC is a function library for C/C++, providing support facilities for discrete and combined discrete-continuous simulation including set operations and data collection. Operating Systems: - PC Added : 19/03/96 Amended : 19/03/96 Licencing : Shareware Author:Toh Choon Swee FTP from ftp://garbo.uwasa.fi/pc/c-lang/simc100.zip Email:tohcs@pobox.org.sg Postal address:Toh Choon Swee, Serangoon Garden, P.O. Box 487, Singapore 915533 ------------------------------------------------------------------------ SIMEX - Helps develop discrete-event simulation models Provides classes that help a user develop discrete-event simulation models, with an emphasis on epidemiology and biology. Classes for random number generation, event and process management, user interface (commandline arguments, TTY, or Tcl/TK), aggregate statistics, basic data structures (list, strings, weighted ordered sets). Many examples. Operating Systems: - SunOS Compilers: - Gnu CC Added : 01/01/95 Amended : 01/01/95 Licencing : Copyrighted freeware Fax:(612) 625-7166 FTP from ftp://ftp.nmsr.labmed.umn.edu WWW http://www.nmsr.labmed.umn.edu Email:jan@simvax.labmed.umn.edu Email:michael@simvax.labmed.umn.edu Postal address:Box 511 UMHC, Div of Health Computer Sciences, U Minn, MPLS, MN 55455 Tel:(612) 625-3241 (Jan Marie Lundgren) ------------------------------------------------------------------------ Simpack - Tools for writing simulations with a EECS bias Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Paul A. Fishwick FTP from ftp://bikini.cis.ufl.edu/cis/tech-reports/tr92/tr92-022.ps.Z FTP from ftp://bikini.cis.ufl.edu/pub/simdigest/tools/simpack/ Email:fishwick@cis.ufl.edu ------------------------------------------------------------------------ SMURPH - A C++ library which could be useful for building a network simulator It comes with extensive documentation and examples. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://menaik.cs.ualberta.ca//pub/smurph/ ------------------------------------------------------------------------ SOCKET++ - C++ iostream like library for sockets and pipes Filename is socket++-XX.tar.gz (XX - version no). ameasures@cix.compulink.co.uk (Alastair Measures) reports :- An archie search (Imperial archie server) yielded the following: - ftp.informatik.fh-wiesbaden.de/pub/UNIX/comm/inet/socket++-1.10.tar.gz - rs104.hrz.th-darmstadt.de/pub/programming/languages/C++/class-libraries/networking/socket++-1 10.tar.gz - irz301.inf.tu-dresden.de/.4.1/vol4/unix/socket++-1.6.tar.gz - ftp.cso.uiuc.edu/pub/lang/C++/class-libraries/networking/socket++-1.10.tar.gz Have excluded the RPM based files from this list. In the actual event I found the latest edition seemed to be 1.11 which didn't seem too keen to clean compile on this 'ere RedHat4.0 Linux.... Having installed an RPM I found the documentation a bit faulty ... so back to the C API Added : 01/01/95 Amended : 19/03/97 Licencing : Not known FTP from ftp://ftp.virginia.edu/pub/ ------------------------------------------------------------------------ SPLASH - 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. File names are splashxxx.tar.Z or splashxxx.zip where xxx is the version number, currently 190 (for version 1.90). Also look for updates in the same directory. Operating Systems: - Unix - PC DOS Added : 01/01/95 Amended : 19/03/97 Licencing : Public Domain Author:Jim Morris FTP from ftp://ftp.wolfman.com/users/morris/public/splash/splash190.tar.gz - Unix version FTP from ftp://ftp.wolfman.com/users/morris/public/splash/update191.zip - DOS update patch FTP from ftp://ftp.wolfman.com/users/morris/public/splash/update191.tar.gz - Unix update patch FTP from ftp://ftp.wolfman.com/users/morris/public/splash/splash190.zip - DOS version WWW http://www.wolfman.com/splash.html - Article on SPLASH Email:splash@wolfman.com ------------------------------------------------------------------------ td.lib - C/C++ Programmers time, date, and cal lib (adtd) td.lib v2 is a small time and date library for C/C++ programmers. It contains practical time and date functions that overcome the limitations of the ANSI standard functions that ship with Borland, and Microsoft C++ compilers. Unlike the standard functions, td.lib allows the programmer to perform a variety of calculations using dates and times from Jan. 1, 1 A.D. to Dec. 31, 32766 and the ability to format and print the output of such calculations using ANSI format specifiers. Designed with the beginning programmer in mind, td.lib is easy to use and simplifies the process of coding time/date routines. The library is fully ANSI compliant and can be used with any standard C/C++ compiler. The source is freely available (mail the author). Special requirements: IBM compatible 386 PC. Operating Systems: - PC DOS Added : 19/03/97 Amended : 27/03/97 Licencing : Copyrighted freeware Author:Brady Tippit FTP from ftp://ftp.simtel.net/pub/simtelnet/msdos/c/adtdv2.zip WWW http://www.simtel.net/pub/simtelnet/msdos/c/adtdv2.zip Email:bt0202@broncho.ucok.edu ------------------------------------------------------------------------ Texas Persistant Store 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.) Operating Systems: - Unix Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Author:Paul R. Wilson and Sheetal V. Kakkad FTP from ftp://ftp.cs.utexas.edu/pub/garbage/texaspstore.ps FTP from ftp://ftp.cs.utexas.edu/pub/garbage/swizz.ps FTP from ftp://ftp.cs.utexas.edu/pub/garbage/texas Email:oops@cs.utexas.edu Postal address:Object-Oriented Programming Systems research group, Computer Sciences Dept., University of Texas, Austin, Texas ------------------------------------------------------------------------ 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. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known Email:tang028@cs.cuhk.hk ------------------------------------------------------------------------ TSR100JE.ZIP - TSR class library DOS PC/Borland C++ specific. Operating Systems: - PC DOS Compilers: - Borland C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://garbo.uwasa.fi/pc/c-lang/ FTP from ftp://oak.oakland.edu/pub/msdos/cplusplus/ ------------------------------------------------------------------------ Types 1.0 Types is a Shareware library used to support the creation of reusable software components in C++. Full source code and documentation and examples are included. Types provides:Garbage Collector,recursive data estructures,encode and decode of polymorfic objects,encode and decoding to and from files or memory using external or local data representation, exceptions,... Types also include some classes implemented using types a double linked list, stack, btree, storage class, string and others. You can use and XDR representation for encode and decode objects this feature enable your data to be ported to other plataforms. Operating Systems: - PC Compilers: - Borland C++ 4.0 Added : 01/01/95 Amended : 01/01/95 Licencing : Shareware FTP from ftp://oak.oakland.edu/pub/simtelnet/msdos/cpluspls/typesc10.zip Email:malpica@mailer.main.conacyt.mx ------------------------------------------------------------------------ Unibase Framework - toolkit designed to simplify network programming The UniBase Framework is a platform-independent toolkit designed to simplify network programming. You use standard iostream-derived communication streams with standard io operators, instead of messy connect() and listen() calls. You can leverage on ALL the code you already have using standard fstreams and iostreams with little or no modification and make your program NETWORKED today! Unix versions due soon. Free for any purpose, with little requirements (see details at the downloading home page listed below). Operating Systems: - PC Windows Compilers: - Visual C++ Added : 05/02/96 Amended : 05/02/96 Licencing : Copyrighted freeware Author:John Chia-chin Wang WWW http://bbs.csie.ntu.edu.tw/~jcwang/unibase/index.cgi Email:jcwang@csie.ntu.edu.tw ------------------------------------------------------------------------ Unidraw - A graphical editor building library Unidraw is a graphical editor building library based on top of InterViews. Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://interviews.stanford.edu/ ------------------------------------------------------------------------ valarray<Troy> Attempts at providing the functionality described in Chapter 26 of the draft C++ standard. None of the releases stick perfectly to the specifications of the proposed standard. Version 2.0 is a very deliberate step away from the draft as released in April 1995 for public comments in the USA: it is used as a proof of concept to support a revision of the original specs. Some characteristics: - heavy usage of templates and their automatic instantiation; - avoidance of temporary arrays in array expressions; - production of fast compact loops, but some overhead before entering those loops. Operating Systems: - Sun - Cray - PC Compilers: - Borland C++ 4.5 - Sun CC 4.x - Sun CC 3.x - CRI C++ (Cray) - IBM xlC - SGI NCC - Apogee CC Added : 01/01/95 Amended : 22/05/96 Licencing : Non commercial Author:David Vandevoorde FTP from ftp://ftp.cs.rpi.edu/pub/vandevod/Valarray Email:vandevod@cs.rpi.edu Postal address:Department of Computer Science, Rensselaer Polytechnic Institute, Troy, NY12180, USA ------------------------------------------------------------------------ wxWindows - C++ class library for building Motif, Open Look, Windows 3.1 and NT applications 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, TEL: 031 650 2746. (This address may be out of date.) Added : 01/01/95 Amended : 04/12/97 Licencing : Not known WWW http://web.ukonline.co.uk/julian.smart/wxwin/ Email:julian.smart@ukonline.co.uk - Anthemion Software Postal address:Julian Smart, Artificial Intelligence Applications Institute, University of Edinburgh, 80 South Bridge, Edinburgh, Scotland, EH1 1HN Tel:031 650 2746 ------------------------------------------------------------------------ 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. Operating Systems: - PC DOS Compilers: - Borland C++ Added : 01/01/95 Amended : 01/01/95 Licencing : Not known FTP from ftp://garbo.uwasa.fi/pc/c-lang/ FTP from ftp://oak.oakland.edu/pub/msdos/cplusplus/ ------------------------------------------------------------------------ XRLCAD - CXrL CAD toolset This package contains a C++ class library to manipulate Structure (as in Calma/CIF) hierarchies. There is also loaders for CIF and Calma, as well as output drivers for these formats. A bunch of demo programs are included which I wrote when I was testing the library, and these programs turned out be quite useful tools. The library is still in its infancy, but it's reasonably solid; in a few months I'll take another look at it and probably overhaul it. Operating Systems: - sparc-sunos-4.1.3 - sparc-sunos-5 - rs6000-aix-3.2 - decstation-ultrix4.2 - hppa1.1-hpux9.05 Compilers: - Sun CC - Cfront - Gnu CC Added : 01/01/95 Amended : 01/01/95 Licencing : Copyrighted freeware Author:Mumit Khan Fax:+1 608 265 3811 WWW http://www.xraylith.wisc.edu/~khan/software/xrlcad/xrlcad.html Email:khan@xraylith.wisc.edu Postal address:Mumit Khan, Research Staff, Center for X-ray Lithography, University of Wisconsin-Madison Tel:+1 608 265 6075 ------------------------------------------------------------------------ YACL - Yet Another Class Library YACL is a freely available C++ class library that includes GUI classes based on the Model-View-Controller paradigm. The class protocols are designed in a platform independent manner, and are implemented under Motif 1.2 as well as under Microsoft Windows and OS/2. This makes it possible to maintain a single code base for an application that runs on all three platforms. YACL also includes a suite of container and data storage classes for general-purpose programming. Operating Systems: - Motif - PC Windows 3 - OS/2 - X Windows Added : 01/01/95 Amended : 05/02/96 Licencing : Not known Fax:(803) 777-3767 FTP from ftp://ftp.cs.sc.edu/pub/yacl WWW http://www.cs.sc.edu/~sridhar/yacl.html Email:sridhar@usceast.cs.sc.edu Postal address:M. A. Sridhar, Department of Computer Science, University of South Carolina, Columbia, SC 29208, USA Tel:(803) 777-2427 ------------------------------------------------------------------------ Trumphurst Home Page http://www.trumphurst.com/ Web version of this list http://www.trumphurst.com/cpplibs Mail amendments or additions to this list to cpplibs@trmphrst.demon.co.uk The C++ Usenet Newsgroup is comp.lang.c++ Copyright (c) 1997 Nikki Locke, Trumphurst Ltd. Permission is granted to distribute over the Internet without charge. The author's permission is required (and usually given) to distribute in any other way, including on CD. Mail the author at faqdist@trmphrst.demon.co.uk for permission to distribute