Available C++ Libraries FAQ

Libraries available to download (A-C)

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

  • Linux
  • PC 32-bit Windows
  • Solaris
  • Unix
  • PC Windows

Compilers

  • Visual C++
  • GCC
  • Sun CC
  • Borland C++

Added : 2000-12-22 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

ActiveMQ-CPP - a JMS-like API for C++ for interfacing with Message Brokers

CMS (stands for C++ Messaging Service) is a JMS-like API for C++ for interfacing with Message Brokers such as Apache ActiveMQ. ActiveMQ-CPP is a client only library, a message broker such as Apache ActiveMQ is still needed for your clients to communicate.

This implementation of CMS is called ActiveMQ-CPP, which has an architecture that allows for pluggable transports and wire formats. The OpenWire and Stomp protocols are supported, both over TCP and SSL and a Failover Transport for more reliable client operation. In addition to CMS, ActiveMQ-CPP also provides a robust set of classes that support platform independent constructs such as threading, I/O, sockets, etc.

ActiveMQ-CPP is released under the Apache 2.0 License

Operating Systems

  • Platform-independent

Compilers

  • Visual C++
  • GCC
  • Any standard C++ compiler

Added : 2011-09-06 Amended: 2011-09-06 Licensing : Open Source

Add a comment

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 ace-users-request@ics.uci.edu if you'd like to become part of the mailing list.

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

Add a comment

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

  • PC 32-bit Windows

Compilers

  • Visual C++

Added : 1999-06-04 Amended: 1999-06-04 Licensing : Shareware

Add a comment

Adobe Source Libraries (ASL). - ASL provides peer-reviewed and portable C++ source libraries.

stlab.adobe.com is the home of the Adobe Source Libraries (ASL) and information about other Adobe open source projects. ASL provides peer-reviewed and portable C++ source libraries. The libraries are intended to be widely useful, leveraging and extending both the C++ Standard Library and the Boost Libraries.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2009-09-02 Amended: 2009-09-02 Licensing : Open Source

Add a comment

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 : 1999-06-04 Amended: 1999-06-04 Licensing : Shareware

Add a comment

AML++ - Another Matrix Library in C++ - AML++ is a matrix/numerical routines library

AML++ is a matrix library which mimics most Matlab/Octave features and functions. It offers many different matrix classes (both real and complex including generic dense and sparse matrices, upper/lower triangular, symmetric, Hermitian and band).

Features:

  • Library interface resembles Matlab/Octave language, which makes it a perfect tool if you wish to translate Matlab or Octave code to C++.
  • Vector (row and column) classes, generic dense and sparse matrices, special types of matrices including upper/lower triangular, symmetric, Hermitian and band.
  • Index checking as well as fast indexing without index checking; indexing with colon expressions (replicating Matlab/Octave. (s:i:e) functionality) as well as with arbitrary integer vectors/matrices.
  • Most Matlab and Octave matrix creation & manipulation functions like ones, zeros, randn, randn, diag, eye, fliplr, flipud, rot90, horzcat, vertcat, find, all, any and others.
  • Extensive sparse matrix support with fast sparse matrix manipulation routines.
  • Many mapper functions (computing function of each element).
  • Sums and products.
  • Natural way of writing matrix expressions through overloaded +, - and * operators; comparison and Boolean operators.
  • Kronecker product.
  • Trace & determinant. Vector and matrix norms.
  • Solving linear equations, handles special types of matrices; inverting matrices; solving sparse linear systems.
  • Dense and sparse LU and Cholesky decomposition, QR decomposition, SVD, Schur decomposition, QZ decomposition.
  • Extensive runtime checks and exception handling. (no assert).
  • C++ I/O streams (handling NaN's. and Inf's and comments) for numerical classes.
  • Formatted console, string and LATEX output.
  • A 100 page manual is provided.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC

Added : 2010-01-15 Amended: 2010-01-15 Licensing : GNU copyleft

    AML++ - Another Matrix Library in C++ - AML++ is a matrix/numerical routines library
  • AML++ homepage
  • Submitted by:Grzegorz Klima
Add a comment

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:

  • a dynamic, prototype-instance object system that makes prototyping easier
  • automatic constraint solving integrated with the object system
  • a "structured-graphics" model (also called a "display list") that handles automatic refresh of objects when the change
  • a high-level input model that makes it easy to add behaviors to objects and also supports undo and help for operations
  • a full set of flexible widgets implemented using the Amulet intrinsics, so you can easily experiment with your own widgets; and high-level interactive debugging tools. Widgets include:buttons, check boxes, radio buttons, menus, menu bars (pull-down menus), scroll bars, scrolling windows, and text input fields.
Amulet comes with complete documentation including a tutorial.

Operating Systems

  • PC 32-bit Windows
  • X Windows
  • Mac

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior
  • Object Center

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

Add a comment

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 ftp://ftp.voxilla.org/pub/ape 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

  • Linux
  • PC 32-bit Windows
  • Solaris
  • FreeBSD

Compilers

  • Visual C++
  • GCC
  • Sun Workshop Pro

Added : 2000-04-26 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

Arabica - SAX2 implementation

SAX is an event-based XML processing API. Arabica is a full SAX2 implementation, including the optional interfaces and helper classes. It provides uniform SAX2 wrappers for the Expat parser, Xerces, Libxml2 and, on Windows, for the Microsoft XML parser.

The DOM is a platform- and language-neutral interface which models an XML document as a tree of nodes, defined by the W3C. Arabica implements the DOM Level 2 Core on top of the SAX layer.

XPath is a language for addressing parts of an XML document. Arabica implements XPath 1.0 over its DOM implementation.

XSLT is a language for transforming XML documents into other XML documents. Arabica builds XSLT over its XPath engine.

Arabica is written in Standard C++ and should be portable to most platforms. It is parameterised on string type. Out of the box, it can provide UTF-8 encoded std::strings or UTF-16 encoded std::wstrings, but can easily be customised for arbitrary string types.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix
  • PC Windows

Compilers

  • Visual C++
  • GCC

Added : 2008-08-05 Amended: 2008-08-05

Add a comment

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

  • Linux
  • Sparc
  • Unix
  • PC Windows

Compilers

  • Visual C++
  • GCC
  • Sun CC

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

Add a comment

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 : 1995-01-01 Amended: 1995-01-01 Licensing : Education

Add a comment

Armadillo - Armadillo linear algebra (matrix) library

The Armadillo C++ Library aims to provide an efficient base for linear algebra operations (matrix and vector maths), while at the same time having a straightforward and easy to use interface. To keep it relatively lean, it does not aim to provide a boilerplate of functionality, such as GNU Octave. Its intended target audience is scientists and engineers. A delayed evaluation approach is employed (during compile time) in order to combine several operations into one and reduce (or eliminate) the need for temporaries. Where applicable, the order of operations is optimised. Delayed evaluation and optimisation are achieved through recursive templates and template meta-programming.

Operating Systems

  • Linux
  • Solaris
  • Unix
  • Mac
  • FreeBSD
  • FreeBSD, Darwin
  • POSIX

Compilers

  • GCC
  • CygWin
  • Any Unix C++ compiler
  • Intel C++

Added : 2008-12-09 Amended: 2009-09-15 Licensing : GNU copyleft

Add a comment

ATLAS - Automatically Tuned Linear Algebra Software

The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. At present, it provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK.

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Any standard C++ compiler

Added : 2011-12-15 Amended: 2011-12-15 Licensing : BSD style

Add a comment

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

  • PC DOS
  • OS/2
  • Unix
  • PC Windows

Compilers

  • GCC
  • Cfront

Added : 1997-03-19 Amended: 2008-07-22 Licensing : Public Domain

Add a comment

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

Simulation library

Added : 1995-01-01 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

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

  • PC 32-bit Windows
  • Unix
  • Mac

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior
  • Borland C++
  • Watcom C++
  • Intel C++
  • Digital Mars

Added : 2006-04-29 Amended: 2010-10-26 Licensing : BSD style

Comment from : James on 2010-10-18

License for this is BSD, this is _not_ public domain. http://synesis.com.au/software/b64.html has the details. [Thanks, James, I have updated the entry now - Nikki]

Add a comment


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

  • PC 32-bit Windows

Compilers

  • Visual C++

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

Add a comment

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 : 1997-11-27 Amended: 2008-07-22 Licensing : Public Domain

Add a comment

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

  • Linux
  • Sparc
  • SGI Irix
  • Sun
  • Cray
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • Dec Alpha
  • Dec Ultrix

Compilers

  • GCC
  • CRI C++ (Cray)
  • HP C++
  • KAI C++

Added : 1998-07-27 Amended: 2012-02-20 Licensing : GNU copyleft

    Blitz++ - Scientific computing in C++
  • Blitz++ Home Page
  • Author:Juergen Mueller
  • Submitted by:tveldhui@extreme.indiana.edu

Comment from : L Russ on 2012-02-17

It looks like the home page listing on your site for Blitz++ may be incorrect. It's possible that this is the home page now, http://www.oonumerics.org/blitz/

Add a comment


Boost C++ Libraries - Provides free peer-reviewed portable C++ source libraries that work well with th

Boost provides free peer-reviewed portable C++ source libraries. Boost emphasizes libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use. Boost aims to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries are already included in the C++ Standards Committee's Library Technical Report (TR1) and will be in the new C++0x Standard now being finalized. C++0x will also include several more Boost libraries in addition to those from TR1. More Boost libraries are proposed for TR2. Boost works on almost any modern operating system, including UNIX and Windows variants. Follow the Getting Started Guide to download and install Boost. Popular Linux and Unix distributions such as Fedora, Debian, and NetBSD include pre-built Boost packages. Boost may also already be available on your organization's internal web server.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2009-09-01 Amended: 2009-09-01 Licensing : Boost

    Boost C++ Libraries - Provides free peer-reviewed portable C++ source libraries that work well with th
  • Boost Homapage
  • Submitted by:Kizza George Mbidde
Add a comment

Botan - crypto library for C++

Botan is a BSD-licensed crypto library for C++. It provides applications with most any cryptographic algorithm you might be looking for, along with Transport Layer Security (TLS), X.509 certificates and CRLs, a pipeline-style message processing system, and a wide variety of other features. A third party open source implementation of SSHv2 that uses botan is also available. In addition to C++ you can use botan from Python or Node.js or Perl, though the current bindings only wrap portions of the library.

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Any after making small changes...

Added : 2012-07-25 Amended: 2012-07-25 Licensing : BSD style

    Botan - crypto library for C++
  • Website
  • Submitted by:Domenic
Add a comment

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 : 1995-01-01 Amended: 2008-11-04 Licensing : Not known

Add a comment

brig - collection of cross-platform C++ header-only libraries

Collection of cross-platform C++ header-only libraries that offers the following features:
  • interaction with many databases
  • usability of the geometric data

Operating Systems

  • Linux
  • PC Windows

Compilers

  • Visual C++
  • GCC

Added : 2013-01-15 Amended: 2013-01-15 Licensing : MIT

    brig - collection of cross-platform C++ header-only libraries
  • homepage
  • Submitted by:Andrew
Add a comment

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

  • PC DOS
  • PC Windows
  • FreeBSD

Compilers

  • GCC
  • Borland C++

Added : 1996-11-13 Amended: 2008-07-22 Licensing : Non commercial

Add a comment

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

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

Add a comment

C++ command line parameters parser - Library for simple and flexible command line parameters parsing

C++ command line parameters parser with callback correspond functions and, if necessary, type/semantic checking of values of inputed parameters. Header-only and cross-platform. Uses ISO C++ and Boost C++ libraries only. It's really simple to use!

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Visual C++
  • GCC

Added : 2010-05-05 Amended: 2010-10-29 Licensing : MIT

    C++ command line parameters parser - Library for simple and flexible command line parameters parsing
  • Documentation
  • Download
  • Submitted by:Denis Shevchenko
Add a comment

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 : 1995-01-01 Amended: 1995-01-01 Licensing : Not known

Add a comment

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

  • Linux
  • PC 32-bit Windows
  • Sparc
  • IBM AIX
  • Dec MIPS Ultrix
  • Solaris
  • HP UX
  • Unix
  • OSF
  • Dec Alpha
  • Mac
  • Dec OSF/1

Compilers

  • Visual C++
  • GCC
  • Dec CC
  • Sun CC
  • IBM xlC
  • HP C++

Added : 2005-02-28 Amended: 2008-07-22 Licensing : Boost

Add a comment

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

  • PC 32-bit Windows
  • Unix

Compilers

  • GCC
  • Visual C++ 6
  • Microsoft .NET

Added : 2005-01-31 Amended: 2005-02-01 Licensing : GNU copyleft

Add a comment

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

  • Platform-independent

Compilers

  • Compiler independent

Added : 2004-11-24 Amended: 2008-07-22 Licensing : Open Source

Add a comment

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

  • Linux
  • PC 32-bit Windows
  • Unix
  • X Windows
  • Mac

Compilers

  • Visual C++
  • GCC

Added : 2004-11-08 Amended: 2008-07-22 Licensing : Open Source

Add a comment

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

A set of classes (C++ streams) that perform:
  • a variable-bit coding of sequences of integers (including Arithmetic compression ),
  • a trick of sharing a stream buffer (a "file") among several streams,
  • handling of extended file names, e.g.,
    EndianOut stream("| compress > /tmp/aa.Z");
    FILE * fp = fopen("tcp://localhost:7","r");
    fstream fp("| cat | cat",ios::in|ios::out);
  • explicit endian specification in dealing with integer streams
  • TCP streams
  • TCP transactor, a shell RPC-like tool
  • a primitive Logging service
  • a Vocabulary package, (poly/homo)morphic dictionaries with a dynamic "inheritance" path, an embedded OO system

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Solaris
  • HP UX
  • Mac
  • FreeBSD
  • BeOS

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior

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

Add a comment

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:

  • Sun's lwp threads and Solaris threads
  • C++ task library
  • NT threads
  • Posix threads
  • cthreads
  • Rex threads
It has been build on a number of different architectures and C++ compilers, and porting to other systems should be relatively easy.

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

Add a comment

C-XSC - A C++ class library for extended scientific computing

Supports scientific computing using interval arithmetic with automatic result verification.

C-XSC provides features for modern numerical software development, such as:

  • Operator concept (user-defined operators)
  • Overloading concept
  • Module concept
  • Dynamic arrays
  • Controlled rounding
  • Predefined arithmetic data types real, (extended real), complex, interval, complex interval, and corresponding vector and matrix types
  • Predefined arithmetic operators of highest accuracy for the arithmetic data types
  • Predefined elementary functions of highest accuracy for the arithmetic data types
  • Data type dotprecision for the exact representation of dot products
  • Library of mathematical problem-solving routines with automatic result verification and high accuracy

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2011-07-25 Amended: 2011-07-25 Licensing : GNU copyleft

Add a comment

C/C++ cyclic logs - Record log information

Cyclic logs provide a platform-independent way for a server to record stdout and stderr such that the most recent information can be retained in a logfile without such logfiles growing in size such that they might fill the disk up. A cyclic log has a fixed size upon creation and a structure that allows older data to be overwritten on the arrival of new data to be logged.

It consists of a C++ library, a C library, a set of commands and a user manual.

It is released under the GPL license.

Operating Systems

  • Linux
  • Solaris
  • PC Windows

Compilers

  • Any standard C++ compiler

Added : 2008-07-22 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

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

  • PC DOS
  • SCO Unix 3.2.4
  • Sun

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • Watcom C++
  • Sparcworks

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

Add a comment

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 : 1995-01-01 Amended: 1995-01-01 Licensing : Non commercial

Add a comment

CCL110JE.ZIP - Coroutine class library

DOS PC/Borland C++ specific.

Operating Systems

  • PC DOS

Compilers

  • Borland C++

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

Add a comment

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

  • PC DOS
  • PC Windows

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

Add a comment

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:
  • Basic geometric primitives such as points, vectors, lines, predicates such as for relative positions of points, and operations such as intersections and distance calculation.
  • A collection of standard data structures and geometric algorithms, such as convex hull, (Delaunay) triangulation, planar map, polyhedron, smallest enclosing circle, and multidimensional query structures.
  • Interfaces to other packages, e.g. for visualisation, and I/O, and other support facilities.
More functionality is being developed, and will be incorporated in successive releases.

The product is also available commercially.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • Solaris

Compilers

  • Visual C++
  • GCC
  • SGI CC
  • Borland C++
  • KAI C++

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

Add a comment

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:
  • Full support for CGI/1.1 and HTTP/1.0 (the current standards)
  • Support for Netscape's Cookie and File Upload features.
  • Support for new HTTP/1.1 methods PUT, GET, OPTIONS and TRACE, in addition to GET, HEAD and POST.
  • Intelligent parsing of HTTP/1.0 and HTTP/1.1 Headers.
  • Clean and elegant methods for reading and rendering form elements, and for preserving state, based on a deep object-oriented hierarchy. Powerful interactive debugging mode.
  • Highly-automated and safe memory management.

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

  • Unix

Compilers

  • GCC

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

Add a comment

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

  • PC DOS
  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • Sun
  • Solaris
  • Unix
  • SYSV
  • Dec Alpha
  • PC Windows

Compilers

  • GCC
  • SGI CC
  • Sun CC
  • Borland C++

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

Add a comment

chemkit - A C++ library for molecular modelling, cheminformatics and visualisation.

Chemkit is is an open source (BSD licensed) software library for cheminformatics, molecular modeling and molecular visualisation.

Operating Systems

  • Linux
  • PC
  • X Windows
  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC
  • Any standard C++ compiler

Added : 2012-05-02 Amended: 2012-05-02 Licensing : BSD style

Add a comment

ClanLib - Game SDK

ClanLib is a cross platform C++ toolkit library.

Essentially the library offers a series of different functionality under a streamlined API. Its primary focus is on games, although not limited for that usage only.

Feature Highlights

  • Very liberal zlib style license
  • Supports Windows, Linux and partially Mac OS X
  • OpenGL 3, OpenGL 1 and SSE2 Software Rendering
  • High-performant shader based render architecture
  • Full GUI framework customizable using CSS
  • GUI windows rendered to textures or native windows
  • High level 2D graphics with fonts, sprites, animations, collisions
  • Network library with sockets, web, irc and game interfaces
  • Database supporting SQLite
  • Sound supporting wav, tracker formats and ogg-vorbis
  • Basic cross platform runtime (threading, file I/O, XML/DOM, etc.)
  • Template based signal library (type-safe callbacks)
  • Integrated resource management

Operating Systems

  • Linux
  • PC Windows
  • Mac

Compilers

  • could be compiled, but not tested

Added : 2011-12-15 Amended: 2011-12-15 Licensing : BSD style

Add a comment

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:
  • Full code generation for the defined relations and their associated find methods.
  • Wizards to insert code, like iteration loops and navigation paths.
  • Code synchronization with compile environment.
  • Full code generation for serializing the complete data model when used together with MFC. (The tool is build with itself and uses this feature to save to and read from file).
  • Drag and drop support for many things. Adding a member to a class is just drag with holding down the Ctrl-key and then drop it on the desired class.
  • Documentation generation in RTF and HTML.

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

Add a comment

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

  • Linux
  • Solaris
  • Unix
  • Irix

Compilers

  • GCC

Added : 2001-01-31 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

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

  • PC

Compilers

  • Borland C++

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

Add a comment

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

  • PC DOS
  • OS/2
  • Unix
  • PC Windows

Compilers

  • GCC
  • Cfront
  • Borland C++

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

Comment from : Nikki Locke on 2008-07-21

I understand this library is obsolete. However, TCLAP does the same kind of thing.

Add a comment


CNCL - ComNets Class Library

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.
  • Persistent objects.
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.

Operating Systems

  • Linux
  • Sun
  • Solaris
  • HP UX

Compilers

  • GCC

Added : 1995-01-01 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

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.

Features:

  • Works on any model, even polygon soups.
  • Fully Portable.  Compiles on windows compilers (VC, BCB) and recent versions of g++ on any platform.
  • Uses bounding box hierarchies for fast detection.
  • Uses additional triangle intersection tests for 100 per cent accuracy.
  • Provides (upon request) exact point of collision, plus the pair of triangles that collided.
  • Supports timeout setting, to limit detection time.
  • Ray-Model collision test.
  • Segment-Model collision test.
  • Sphere-Model collision test.
  • Ray-Sphere and Sphere-Sphere primitive collision tests.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Mac
  • Cross platform, should work on any.

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior
  • Borland C++
  • Any standard C++ compiler

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

Add a comment

Comet - A C++ template library for COM programming

Comet is a language binding between COM and C++. It allows you to do both COM client and COM server programming, without any dependency on either ATL or MFC. In other words Comet is a replacement for ATL.

Operating Systems

  • PC Windows

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • Visual C++ 6
  • Visual C++ .NET

Added : 2009-08-13 Amended: 2009-08-13 Licensing : BSD style

Add a comment

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

  • Linux
  • Solaris
  • FreeBSD
  • Dec Tru64

Compilers

  • GCC

Added : 2003-12-15 Amended: 2008-07-22 Licensing : GNU copyleft

    Common C++ - A GNU Portable Application Framework
  • Home page
  • Author:David Sugar and Daniel Silverstone
Add a comment

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 complex.ps.gz [40 Ko] alone or dowload the complete package (including the documentation) complex.tgz. [47 Ko]

Operating Systems

  • Linux
  • Sparc
  • Sun
  • IBM AIX
  • Solaris
  • Unix
  • X Windows

Compilers

  • GCC
  • Sun CC

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

Add a comment

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

  • PC DOS
  • Unix
  • PC Windows
  • Mac

Compilers

  • GCC
  • MetroWerks CodeWarrior
  • Borland C++

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

Add a comment

cpplinq - LINQ for C++

Language Integrated Query (LINQ) for C++ (cpplinq) is an extensible C++11 library of higher-order functions for range manipulation.

(*) For list of alternative LINQ libraries for C++ see section 'About' of the cpplinq home page.

Operating Systems

  • Linux
  • Unix
  • PC Windows

Compilers

  • Visual C++
  • GCC

Added : 2014-04-14 Amended: 2014-04-14 Licensing : Copyright (other)

Add a comment

Crypto++ Library - Class library of cryptographic schemes

The Crypto++ Library supports nearly 100 cryptograpic algorithms.

Other features included in the library are:

  • pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool
  • password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5, PBKDF from PKCS #12 appendix B
  • Shamir's secret sharing scheme and Rabin's information dispersal algorithm (IDA)
  • fast multi-precision integer (bignum) and polynomial operations
  • finite field arithmetics, including GF(p) and GF(2^n)
  • prime number generation and verification
  • useful non-cryptographic algorithms
    • DEFLATE (RFC 1951) compression/decompression with gzip (RFC 1952) and zlib (RFC 1950) format support
    • hex, base-32, and base-64 coding/decoding
    • 32-bit CRC and Adler32 checksum
  • class wrappers for these operating system features (optional):
    • high resolution timers on Windows, Unix, and Mac OS
    • Berkeley and Windows style sockets
    • Windows named pipes
    • /dev/random, /dev/urandom, /dev/srandom
    • Microsoft's CryptGenRandom on Windows
  • A high level interface for most of the above, using a filter/pipeline metaphor
  • benchmarks and validation testing
  • x86, x86-64 (x64), MMX, and SSE2 assembly code for the most commonly used algorithms, with run-time CPU feature detection and code selection
    • supports GCC-style and MSVC-style inline assembly, and MASM for x64
  • certain versions are available in FIPS 140-2 validated form

Operating Systems

  • could run on any OS, but not tested

Compilers

  • Visual C++
  • GCC
  • Intel C++

Added : 2010-11-17 Amended: 2010-11-17 Licensing : Open Source

Add a comment

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

  • PC DOS
  • Linux
  • OS/2
  • PC Windows

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • Watcom C++

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

Add a comment

cURLpp - C++ interface for C libcurl

cURLpp is a C++wrapper of libcurl. About libcurl. libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more!

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2008-12-05 Amended: 2008-12-05

Add a comment

Cvmath.cc - 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 : 1995-01-01 Amended: 1995-01-01 Licensing : Not known

Add a comment
Our ads
Buy gold
Beat the credit crunch - buy gold online - quickly, safely and at low prices
www.bullionvault.com
Google
Trumphurst Home Page
C++ Usenet Newsgroup
A Web form for submissions to this list
Contact the author for permission to distribute

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