Libraries available to download (A-C)


Libraries available to download (A-C)

BIGINT - N-bit integer math class

BIGINT is an unsigned N-bit integer math class for the C++ programming language.

BIGFP is a floating point math class based on BIGINT for the C++ programming language.

Added : 27/11/1997 Amended : 27/11/1997 Licensing : Not known

C* In C++ - Parallel Programming Classes for C++:

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

C++ implementation of differential algebra

This is temporarily unavailable while we resolve the question of whether inclusion of codes from Numerical Recipes makes distribution illegal.

Available from the netlib mailing list, in c++/mxyzptlk.shar

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

C++ Portable Components - Portable classes for network and XML development

The C++ Portable Components are a collection of class libraries for developing network-centric, portable applications in C++. The classes integrate perfectly with the C++ Standard Library and cover functionality like threads, thread synchronization, filesystem access, streams, shared libraries and class loading, sockets and network protocols (HTTP, FTP, SMTP, etc.), including an HTTP server, as well as an XML parser with SAX2 and DOM interfaces.

The C++ Portable Components are available on a variety of platforms. All major desktop and server platforms are supported, including Windows XP, Mac OS X, Linux, HP-UX, Tru64, Solaris and OpenVMS, in addition to Windows CE and POSIX-compliant embedded operating systems.

For use in open-source projects, the C++ Portable Components are available for free under an open-source license. Non open-source commercial use requires a separate license.

Operating Systems


Added : 28/02/2005 11:12:16 Amended : 28/02/2005 Licensing : Copyright (other)

Brent's univariate minimizer and zero finder.

Ref: G.Forsythe, M.Malcolm, C.Moler, Computer methods for mathematical computations. Precision - double

Obsolete - now part of the linalg package

Added : 01/01/1995 Amended : 30/07/1996 Licensing : Not known

C++ Sockets Library - Unix / Windows Socket programming made easy

When making this library, there were a few things I wanted to achieve. I did not want to end up with C++ code that had to be used in the same way as the berkeley socket C API are being used ( connect/bind/accept - check result, write - check result, read - check result, etc, etc ). Another thing was the ability to manage multiple sockets in the same thread; the library should be singlethreaded - but not limited to one thread. So.. I never wanted to manage a fd_set for a select() call ever again, no more writing code for accepting a connection - this has already been done again and again in every single networking project ever made.

One decision made early on was to treat one socket as one object. And so was the Socket class born. The socket class, by itself, has all the functions needed for address translation (hostname to ip, ip to hostname etc). It owns the file descriptor / SOCKET handle. But it can't do anything. Code for actually doing something with the socket is implemented in other, Socket derived classes.

Operating Systems


Added : 31/01/2005 14:42:54 Amended : 01/02/2005 Licensing : GNU copyleft

C++/Tcl - A library for integration between C++ and Tcl.

C++/Tcl is a library that allows to easily integrate C++ and Tcl.

It provides the following features:

  1. Support for both extending Tcl with C++ modules and embedding Tcl in C++ applications.
  2. Possibility to expose free C++ functions as commands in Tcl.
  3. Possibility to define classes and class member functions, visible in Tcl in the style similar to SWIG wrappers.
  4. Possibility to manipulate Tcl lists and objects from the C++ code.

Operating Systems


Added : 24/11/2004 Amended : 24/11/2004 Licensing : Copyrighted freeware

Arjuna - For writing fault-tolerant (distributed) applications

Arjuna provides a set of tools (C++ classes and libraries) for writing fault-tolerant distributed applications using persistent objects, atomic actions, and replication. Included in the system is a C++ stub generator (and associated RPC mechanism) which takes a C++ class definition for an object and generates client and server stub code. Using these stub classes occurs in a relatively transparent manner: the differences between a local and distributed application are typically only a single line.

The system has been ported to a wide range of architectures and C++ compilers, both by the authors and other users, and has been in use for several years.

A comprehensive manual is available with the distribution.

The system has been ported to a wide range of architectures and C++ compilers, both by the authors and other users, and has been in use for several years.

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Education

Blitz++ - Scientific computing in C++

Blitz++ is a C++ class library for scientific computing which provides performance on par with Fortran 77/90. It uses template techniques to achieve high performance. The current versions provide dense arrays and vectors, and small vectors and matrices.

Operating Systems


Added : 27/07/1998 Amended : 27/07/1998 Licensing : GNU copyleft

C++SIM 1.5.2 - 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, and there is support for a variety of statistics gathering classes.

The simulation package requires the use of a threads package and currently only works with the following:

It has been build on a number of different architectures and C++ compilers, and porting to other systems should be relatively easy.

Added : 01/01/1995 Amended : 19/03/1997 Licensing : Education

Common C++ - A GNU Portable Application Framework

Common C++ is a C++ framework offering portable support for threading, sockets, file access, deamons, persistance, and system services, initially started by David Sugar and Daniel Silverstone. Common C++ is a GNU package and is licensed to the terms of the GNU GPL with specific privileges similar to Guile. Common C++ offers support and portable classes for threading and sockets for both UNIX (Posix systems with "pthread" support) and the Windows "Win32" API. Common C++ uses extensive autoconf macro sets for automatic detection of various levels of "pthread compliance" in your target platform and attempts to adjust itself appropriately. Common C++ has been tested to date with GNU/Linux, FreeBSD, Solaris, and DEC Tru64 Unix. HP/UX has also been tried and found not to be successfully supported at this time.

While Common C++ is not directly related to GNU portable threading (GNU Pth), it should work with the Pth "pthread emulation" library at present. Common C++ will become usable as a class framework for GNU Pth directly in future releases.

The primary goal of Common C++ is to promote a very low overhead abstract C++ interface to common system services. Consistent with this goal, and the desire for broad portability with wide compiler support, specific aspects and practices in C++ programming were selected when writing code in this package, and other practices were discarded that seemed to detract from this goal.

Operating Systems


Added : 15/12/2003 09:26:51 Amended : 15/12/2003 Licensing : GNU copyleft

ColDet - 3D Collision Detection Library

This library is an effort to provide a free collision detection library for generic polyhedra. Its purpose is mainly for 3D games where accurate detection is needed between two non-simple objects.


Operating Systems


Added : 10/01/2001 Amended : 10/01/2001 Licensing : GNU copyleft

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:

Note - Scott R. Chilcote" ( reports he can only find the a README file at the site given, and his attempts to mail the author's address given therein fail. ( reports he couldn’t find anything at the ftp site.

Added : 01/01/1995 Amended : 22/05/1996 Licensing : Not known

Callbacks - Inter-component callbacks using functors

This library provides a comprehensive, portable, type-safe, efficient, general purpose mechanism for inter-component callbacks using template functors. Full source code and examples.

A complete rationale and description of this mechanism appeared in my article in the February 1995 issue of the C++ Report (now reprinted in 'C++ Gems', SIGS Books). Users are strongly encouraged to read the article before proceeding, as the library has minimal embedded documentation at present.

Operating Systems


Added : 03/10/1996 Amended : 03/10/1996 Licensing : Copyrighted freeware

Architector - GradSoft C++ ToolBox

This is multiplatform C++ library, which incapsulate set of common C++ programmer tasks: Threading, Logging, Parsing options and more.

Operating Systems


Added : 29/12/2000 Amended : 29/12/2000 Licensing : Copyright (other)

ADAPTIVE Communication Environment (ACE) - C++ IPC wrappers

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 if you'd like to become part of the mailing list.

Added : 01/01/1995 Amended : 19/03/1997 Licensing : Not known

C++/Tk - A complete interface to the Tk GUI toolkit.

C++/Tk is a complete C++ interface to the popular Tk GUI toolkit, known from many scripting languages, like Tcl, Python or Perl. The C++/Tk library uses templates and operator overloading to achieve syntactic similarity to Tcl/Tk code.

Operating Systems


Added : 08/11/2004 Amended : 08/11/2004 Licensing : Copyrighted freeware

C++ FEM - (Finite Element Method) Library

In addition to FEM related classes, this library also has: 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.


Added : 01/01/1995 Amended : 01/01/1995 Licensing : GNU copyleft - An include file to make complex math look like regular math.

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.

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

BLAS in C++

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

Awesime - A C++ task library explicitly designed for simulation

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

Andy Register's - 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.

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

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.

Added : 01/01/1995 Amended : 05/02/1996 Licensing : Not known

CNCL - ComNets Class Library

Universal classes: Simulation: Fuzzy logic: EZD:

Operating Systems


Added : 01/01/1995 Amended : 08/08/1996 Licensing : GNU copyleft


A BLAS in C++

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

b64 - base-64 Encoding and Decoding

Simple, lightweight, library for RFC-1113 compatible base-64 encoding and decoding. The core library is written in C, with a C-API. The C++ mapping offers a flexible facade over the C-API, and is 100 per cent header-only. All code is platform-independent.

Operating Systems


Added : 29/04/2006 Amended : 29/04/2006 Licensing : Public Domain

CLN - a Class Library for Numbers

CLN is a library for computations with all kinds of numbers. It has a rich set of number classes, including integers (with unlimited precision), reals with various precisions (including unlimited), rationals, complex numbers and polynomials. The kernel is written in assembly language, in addition it can easily be configured to use the superefficient GNU MP low-level functions. CLN uses garbage collection (automatic, without imposing any burden on the main application). Many extremely efficient algorithms (i.e. for all transcendental functions) are implemented.

Operating Systems


Added : 31/01/2001 08:38:50 Amended : 31/01/2001 Licensing : GNU copyleft

CCL110JE.ZIP - Coroutine class library

DOS PC/Borland C++ specific.

Operating Systems


Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

ACDK - A Java-oriented C++ framework for server development

ACDK (Artefaktur Component Development Kit) is a platform-independent library for generating distributed server-based components and applications. With support for memory-managment, threading, networking and scripting (Lisp, Perl, Tcl, Java, PHP).

Operating Systems


Added : 22/12/2000 Amended : 22/12/2000 Licensing : Non commercial

BRL10 - Binary Relations Library for C/C++

Binary relations are more directly based on semantic concepts rather than on recordlike structures as traditional (relational, hierarchies, networks, object-oriented) models are.

Binary Relations tend to be more functionally complete in their information processing capability, and more precise in their semantic modelling.

The Binary Relations Approach was implemented in Binary Relations Library for C/C++. BRL is not a full featured DBMS. It does not support all ideas of the Binary Relations Approach. BRL is however a small, fast and reliable engine.

BRL provides basic tools for using binary relations in C and C++ programs.

Operating Systems


Added : 13/11/1996 Amended : 13/11/1996 Licensing : Non commercial

Complex class - Very complete complex generic class

The Complex Library gives you the possibility to do complex arithmetic as simply as real arithmetic in your C++ sources. The class Complex is designed with generic code, allowing you to do single or double floating point arithmetic (default is double). All the algorithms favour numerical stability first and speed secondly. You can download the postscript documentation [40 Ko] alone or dowload the complete package (including the documentation) complex.tgz. [47 Ko]

Operating Systems


Added : 27/11/1997 Amended : 27/11/1997 Licensing : Public Domain

AvlTree - C++ AVL tree class implementation

This is a C++ implementation of AVL trees. It is targeted more for teaching purposes than for efficiency.

Operating Systems


Added : 19/03/1997 Amended : 19/03/1997 Licensing : Copyrighted freeware

CmdLine - command-line option and argument parsing framework

CmdLine is a full-featured C++ class framework for parsing options and arguments from the command line. Abstract and concrete classes are provided for the command-line, options, arguments, and argument iterators, and the user may add their own specialized argument/option types using subclasses.

Operating Systems


Added : 19/03/1997 Amended : 19/03/1997 Licensing : Copyrighted freeware

CDBFile - C++ library to handle dBASE III files

CDBFile is a C++ object-oriented package for programmers who need to manipulate dBASE III files in their programs. It enables you to perform many operations on an existing DBF file: reading/writing to it, accessing its values, sorting the records, adding/deleting records, etc. It comes with full text and postscript documentation, and commented source code. A demonstration program, TestDBF, shows the various possibilities of the CDBFile library, and its source file, testdbf.cpp, demonstrates how to implement CDBFile within a program. CDBFile was designed to be as portable as possible: you should be able to compile it under "as is" any DOS/Windows C++ compiler; porting it to Un*x/Linux should also require little effort.

Since CDBFile is distributed under the GNU Public License for libraries, I hope that programmers will like it and suggest or implement enhance- ments and additional features to that piece of software.

Operating Systems

Added : 19/03/1997 Amended : 19/03/1997 Licensing : GNU copyleft

CSLIB - Database library for C++ developers

A series of C++ classes in combination with a program generator is used to build databases with automatically updated indexes, access to fields, support for DATE fields, exporting to dBASE and so on. It also contains classes for variable-length records, virtual heaps, btrees etc. Some helpful utilities are included as well. CSLIB produces stand-alone executables. It is NOT just an interface to some central database server.

Evaluation version.

Operating Systems


Added : 19/03/1997 Amended : 19/03/1997 Licensing : Not known

Conical - C++ classes for building neural networks

CONICAL is a cross-platform library of C++ classes for building biologically realistic simulations of neurons or small neural networks. Its capabilities are similar to large Unix-based packages such as GENESIS and NEURON, but produces simulations which are smaller, faster, and easily imbedded in other applications.

CONICAL is still under development, but documentation is fairly complete and includes both introductory material and demo programs.

Operating Systems


Added : 30/07/1996 Amended : 02/04/2001 Licensing : Education

C++Advio - Advanced i/o, Networking, and Arithmetic Compression

A set of classes (C++ streams) that perform:

Operating Systems


Added : 22/05/1996 Amended : 26/04/2000 Licensing : Public Domain

CalcPlus - Interpreter of procedural language

The CalcPlus library is the C++ class library which provides an ability to use your own programming language built into C++ project. Any algorithm or any constant needed by application can be carried out into the special file, when process comes to the key point, it calls function or procedure stored in the text file. Interpreter runs the function and process returns back to C++ code. Library contains the interpreter which understands simple nameless procedural language. Bi-directional communication between C++ and the code for interpreter available.

Version of the language that comes with the library allows to use functions, procedures, blocks, preprocessor, global and local variables and constants, if/for/while statements. Each variable can have value of type: nil, bool, long, float, string, date. Type definitions and arrays are allowed. Functions and procedures may be recursive. New functions written in C++ may be easily added to the language. Syntax of the language can be modified by changing YACC rules. Interpreter is fast enough and may be helpful for many tasks.

Platform independent, YACC required.

Operating Systems


Added : 22/05/1996 Amended : 22/05/1996 Licensing : Shareware

Amulet - User Interface Development Environment

AMULET is a user interface development environment in C++. Code written using Amulet will work with little or no changes on all platforms.

More than just another free "virtual toolkit," Amulet includes many features specifically designed to make the creation of highly-interactive, graphical, direct manipulation user interfaces significantly easier. Based on a proven earlier system, called Garnet, that was in wide use in the Lisp community, Amulet adds a number of important innovations and refinements.

Important features of Amulet include:

Amulet comes with complete documentation including a tutorial.

Operating Systems


Added : 29/02/1996 Amended : 29/02/1996 Licensing : Public Domain

CBMT - Collaborative BioMolecular Tools

CBMT provides a number of easy-to-use fundamental classes for biologists, chemists and crystallographers. They include: Molecular Structure, Sequence, Standard Formats (PDB, CIF, GCG, etc), Geometry, Statistics, TextParsing, and a single container class (a dynamic Array). All documentation is in HTML, and member functions have *.c examples. I hope that the system can be extended as a communal effort and am piloting this idea in the C++ course at the Globewide Network Academy

Version 1.3 will be posted shortly including an experimental script language (generated automatically from the *.h files) providing support for persistent objects manipulatable by other languages such as tcl or csh.

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Non commercial

CMATH - Complex-number math library for Borland C/C++

CMATH is a comprehensive library for complex-number arithmetics and mathematics. In contrast to C++-written complex class libraries, this true Assembler implementation ensures superior computational efficiency, mathematical accuracy and safety. All functions exist in two alternative forms:
  1. a C++ form with overloaded function names, like sin, exp, operator /;
  2. a plain-C form with data-type specific function names, like cf_sin, cd_exp, ce_div, where the prefix determines the level of accuracy (complex float, double, or extended).

Changes: The necessary adjustments have been made for CMATH to work with the new version 4 of BCBuilder, while maintaining compatibility with the older BC++ versions. Slight improvements with respect to speed and accuracy have also been made for the forward and inverse trigonometric functions.

Operating Systems


Added : 24/07/1998 Amended : 04/06/1999 Licensing : Shareware

ClassBuilder - ClassBuilder 1.1 OOD C++ code generator

ClassBuilder is an Object Oriented C++ front end to your compiler. It lets you create, manipulate and navigate classes, class relations, class members and class methods at a high level of abstraction trough a graphical user interface. Features include:

Added : 22/07/1998 Amended : 22/07/1998 Licensing : Demo

Cgipp - Very Portable and powerful CGI-Library

Cgipp is a small class library which eases the creation of applications for the World Wide Web, and gives you an easy but powerful interface to the CGI interface which will increase your productivity when writing CGI-applications. The Cgipp also provides a class to ease your creation of HTML-pages which can be used as any ostream.

The library is highly portable, and can be used with no problems on any unix-system using gcc/g++, and has also been tested with SGI C++ and Sun CC. The library has also been succesfully ported to PCs (both 16-bit DOS and 32-bit DOS/Windows).

Operating Systems


Added : 27/11/1997 Amended : 10/09/2004 Licensing : Public Domain


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: 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.

Version II now available

"Bulkar Sheena" says the package is no longer available at this site.

Added : 01/01/1995 Amended : 03/05/2000 Licensing : Not known

CIDLib - Portable, General Purpose C++ Frameworks

CIDLib is a general purpose, portable C++ development framework, which currently contains approximately 350 classes, oriented primarily towards the development of backend systems at this time.

The reference release of CIDLib is for NT 4.0 and Visual C++ V6.0. However, a preview of the Linux driver is now available for download, in source form, if you would like to evaluate it and provide some feedback.

A full class reference is available on line, as is the tutorial. The tutorial is also available in its original Word97 format if you want to get a more readable/printable version.

Here is a general list of the functionality provided by CIDLib in the 1.1.0 release.

Abstraction Kernel
CIDLib implements its own 'micro kernel' layer which abstracts its from the host platform and greatly enhances portability. Outside the kernel, no host or RTL headers are used. This allows all CIDLib and client code to use a high level of error reporting during compilations, without the need for non-ANSI C++ compliant compiler extensions required for much direct operating system or RTL access.
Build Utility
To support build infrastructure portability for CIDLib itself, the CIDBuild utility provides convenient build services for the source code release. It is written in plain C++ and is easily portable to other platforms and development environments. It supports project dependency, header dependency analysis, platform independent project settings, and message file compilation.
Advanced RTTI
Polymorphic streaming, dynamic object creation, fully integrated runtime type information system, type repository, and simple meta class support.
Bags, sorted bags, deques, queues, stacks, doubly linked lists, singly linked lists, hash maps, hash sets, and object arrays. They are fully templatized, typesafe, and optionally thread safe on a per-instance basis. Simpler arrays, stacks, queues, and deques are also provided for fundamental data types.
Core Data Types
Strings, memory buffers (heap, system, and shared system), areas, points, sizes, colors, ranges, money, numerics, time stamps, etc...
Encryption Frameworks
CIDLib has an encryption framework that you can extend to implement any encryption algorithms you require. It currently supports Blowfish and MD5, with others planned for future releases. You can easily plug in your own algorithms or other 3rd party algorithms, to take immediate advantage of the framework and have your algorithm's integrate seamlessly into the system.
Exceptions, Logging Support
Extensive support for error and message logging and exception management. Fully C++ enabled, multiple language message file support with custom message compiler which generates namespace based const message ids instead of #define'd values. Runtime error and system exception stack trace dump support.
File System Support
Directory iteration, general file system maintenance, find buffers, smart path strings, binary files, text files, etc...
Text and binary streams, stream lexer, etc... Streams are abstracted from the actual data source via implementation objects, so they can be extended to use many different data sources. CIDLib comes with file, string, memory buffer, and console based implementations. Stream format janitors support safe scope based format changes. Endian transparency is provided for binary data, to support heterogenous networks and data sharing in secondary storage. Pluggable text encoders support external encoding formats (see the next section.)
Text Transcoding Support
The new CIDEncode facility provides an extensible text transcoding framework, to get text data into CIDLib's internal Unicode format and back out again. Currently it supports ASCII, UTF-8, UTF-16, UCS-4, Latin1 through Latin6, and EBCDIC-US. More encodings will be added over time, and you can plug in your own to have them seemlessly itegrate into the system.
Internationalization Support
CIDLib supports a very C++ oriented message compiler that is fully Unicode oriented and allows you to load all text from external (and therefore translatable) data, in an easy and convenient way. CIDLib is purely Unicode oriented, only transcoding text to the local code page when to pass it to system APIs (where required.)
Locale Support
Locale support allows you to localize your applications and CIDLib itself uses this support to format numeric values, monetary values, times, dates, etc... CIDLib gives you full access to locale information in a way that is safe and convenient and consistent with the CIDLib style (and therefore portable to any platforms that CIDLib is ported to.)
4x4 homogenous matrices, 2D and 3D vectors, value maps, ranges, complex numbers, core mathmematical library interfaces.
Process Control
Threads, mutexes, semaphores, events, critical sections, threadsafe counters. Janitors for mutexes, semaphores, critical sections, and thread priorities.
TCP/IP sockets support is provided, stream and datagram client and server side datagram and stream sockets, a socket listener class, and IP addresses and endpoints.
An object oriented, extensible fractal generation engine, with full multiprocessor support. Pluggable fractal framework allows you to easily create your own fractal types and have them rendered.
Graphics File Formats
The CIDImage facility is a generalized framework for getting graphics file formats into memory as bitmaps, and getting them back out after manipulation, and getting information about them.
Ray Tracing
An object oriented, extensible ray tracer with scene description language, and full multiprocessor support. Framework based architecture allows you to create your own object and texture types and fully integrate them into the ray tracer.
Regular Expressions
A regular expression engine is provided for doing the usual regular expression searches on strings. It supports most of the generally supported short cuts and conveniences of grep type utilities.

Operating Systems


Added : 27/11/1997 Amended : 22/12/2000 Licensing : Open Source

Birkbeck Bioinformatics - Bioinformatics Class Library

object-oriented software library for use by the bioinformatics and molecular modelling communities.

Added : 27/07/1998 Amended : 27/07/1998 Licensing : Not known

CGAL - Computational Geometry Algorithms Library

CGAL - the Computational Geometry Algorithms Library - is a C++ software library of geometric data structures and algorithms. The CGAL library contains: More functionality is being developed, and will be incorporated in successive releases.

The product is also available commercially.

Operating Systems


Added : 03/12/1998 Amended : 25/10/2001 Licensing : Education

ADBLib - Database lib for Visual C 6

ADBLib.dll provides some classes and routines to develop DAO(r) database applications quickly using Microsoft Visual C 6.0, the important feature of this library is,besides the power and coding speed, you can still access DAO derived objects from your programs allowing you to accomplish complex tasks when needed. To simplify your task when creating modeless form, a simple tool ADBWizard has been added - it will automate the process of base class substitution, so that you can create forms and add them to your application very quickly.

Operating Systems


Added : 04/06/1999 13:09:58 Amended : 04/06/1999 Licensing : Shareware

Alcatraz - Software copy protection C++ library

Alcatraz is a C++ library that can be used to provide copy protection capabilities to an application. You can create and distribute time-locked trial versions and hardware-locked full versions of your software. Both applications and components can be copy protected. The license file is signed and encrypted to prevent tampering. A license file generation program is provided along with the library. Online help is included with the software.

Added : 04/06/1999 13:46:45 Amended : 04/06/1999 Licensing : Shareware

BCGControlBar - MFC extension library

The MFC extension framework library which allows you create Microsoft® Office, Visual Studio® and Internet Explorer®-like applications with full toolbars/menus customization, docking control bars, menu bars, Office-2000 menus and more.

Operating Systems


Added : 26/04/2000 Amended : 02/12/2006 Licensing : Shareware

APE - Portable C++ threading and sockets framework

APE is the "APE Portable Environment" and class libraries for writing portable threaded servers in C++, under UNIX (pthread) and Win32 API's. APE provides portable class abstraction for threads and sockets, and is used as a base framework for other projects. The goal of APE is to make writing threaded servers in C++ both practical and convenient, even for small and simple projects, and hence simplicity and low runtime overhead are design goals.

The 1.0.0 release of APE is available at with both source and pre-built binary packages. APE has been used not only in server applications, but also in conjunction with client class frameworks, such as QT/KDE, to offer threading and socket services. APE is licensed under the GPL with additional priviledges as annoted in the source under terms similar to Guile.

As of March 14th, 2000, the APE project was merged with the Common C++ project to form the newly introduced Common C++ portable application framework.

Operating Systems


Added : 26/04/2000 13:18:44 Amended : 15/12/2003 Licensing : GNU copyleft

ClassBuilder - OOD C++ code generato

ClassBuilder is an Object Oriented C++ front end to your compiler. It lets you create, manipulate and navigate classes, class relations, class members and class methods at a high level of abstraction trough a graphical user interface. Its rich feature list includes:

Added : 24/07/1998 Amended : 24/07/1998 Licensing : Freeware

CGI++ - A C++ Library for CGI Programming

CGI++ combines an easy and intuitive 'look and feel' with a powerful and rich object-oriented implementation. Features include:

Shareware. Distributed as source code; modification permitted Free download/unlimited trial; license payable for installation on a WWW or Intranet server. Developer arrangements available for products incorporating the Library.

Nick Kew is also author and keeper of the CGI programming FAQ - archived as /www/cgi-faq at RTFM.

Jeff Garzik alleges it doesn't compile under GCC 2.8 or later, nor egcs.

Operating Systems


Added : 19/03/1997 Amended : 03/12/1998 Licensing : Shareware

Trumphurst Home Page
C++ Usenet Newsgroup

A Web form for submissions to this list
Mail the author for permission to distribute

Copyright (c) 2008 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.