Available C++ Libraries FAQ

Introduction

About the list

Here is the latest draft of the "Available C++ libraries FAQ".

This list is not exhaustive. If you are looking for a particular library, and you don't find it here, try an ordinary Web search engine (e.g. Google). If you do find a suitable library, why not use the submission form to add it to this list for the next person?

Due to the increasing size of this list, and problems with updating the automatic poster at rtfm.mit.edu, the full list is now only available on the Web (at www.trumphurst.com/cpplibs/).

Marshall Cline's C++ FAQ is available on his Web page.

I have not included a credits list, because it would be nearly as large as the rest of the file! Many thanks to all those who contributed, and I hope you won't be offended that I haven't mentioned you.

Please send comments, criticisms, additions and amendments to me using the forms on the Web site. Please DO NOT mail me with requests for assistance in finding files mentioned in the list. I am unable to provide such a service. Definite information such as "file xyz is no longer at site xxx" IS welcome - even better if you can tell me an alternative site where it can be found. If you are new to the Internet, I recommend the newsgroups "news.announce.newusers" and "news.answers" for starters.

Added : 1995-01-01 Amended: 2008-06-26 Licensing : N/A

Comment from : Nikki Locke on 2008-06-26

I recently made major changes to the FAQ, adding forms to let people make submissions and add comments without using email. Please let me know if I screwed up anywhere.

Add a comment


Dos and don'ts - (Mostly don'ts)

  • Do not send me mail asking for help with your programming - unless you are willing to pay my normal daily rate for consultancy. Free advice is available from Usenet newsgroups like comp.lang.c++.
  • Do not ask me if there is a library to do a particular task. All the libraries I know about are in this list.
  • I do not actually have copies of the libraries in the list. I do not evaluate the libraries in the list, I just collect together information sent in by the authors or others. So it's no use asking me how good a particular library is, or, indeed, anything about them that isn't already in the list.
  • If you want me to include your library in the list, send in a submission. Do not just send in a URL, and expect me to connect to the Internet, download your Web page(s) and summarise them. That's your job.

Added : 1997-12-04 Amended: 2008-07-06 Licensing : N/A

Comment from : Nikki Locke on 2008-07-22

Big thanks go to Andrew Marlow, who has been going through the FAQ checking the URLs and various other details.

Comment from : pickatutorial.com on 2010-10-09

Good Work.

Add a comment


Adding or amending entries

Sending in a new entry

If your library isn't mentioned, or you wish to update your entry in this list, feel free to submit an entry via the Web form. Please note that entries will be restricted to a couple of paragraphs - if you send me a 100k text file giving minute details, I will have to summarise it. Or I might just ignore it, if I'm busy. It is much easier for me if you just send me an entry which is the right size to start with.

Please try to format your entry in the same way as the entries already in this list. If you wish, you may include HTML tags in your Long description text, which will make it through to the WWW version of this document. Please do not use heading levels 1-3, and please do not include any hot links in the body of the text - all links should occur at the end of the text.

NOTE TO VENDORS

This FAQ contains details of both free and commercial libraries. Vendors who have sent me details of their libraries for inclusion in the FAQ have been pleasantly surprised by the level of interest generated. Please remember, I only allow 2 or 3 paragraphs describing the product, and no advertising hype !

Added : 1995-01-01 Amended: 2008-07-21 Licensing : N/A

Comment from : John Woolverton on 2014-01-15

I spent some time looking for the library YACL, but was unable to find any links to the source. It looks like it may have been offline for a while. I guess I would recommend deleting its entry. -- jdw

Add a comment


Indexes

How to find libraries in the FAQ

The recommended way to search the database is via the index page, which accesses the database directly.

Added : 1995-01-01 Amended: 2008-07-06 Licensing : N/A

Add a comment

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

Comment from : JS on 2015-04-03

Web site no longer available (Apr/2015)

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

BDE - Basic Development Environment - a set of foundational C++ libraries used at Bloo

What is BDE?

BDE (BDE Development Environment) is a set of C++ software libraries as well as development tools and methodology. Originally developed at Bloomberg L.P., BDE is intended to form the foundation for large scale C++ software products.

BSL (BDE Standard Library), the lowest level BDE library, provides implementations for portions of the C++ standard library, particularly the container types, as well as a suite of system utilities, meta-functions, and algorithms needed to build such containers.

BDL (BDE Development Library), the second BDE library currently provides concrete allocator implementations. This library is under active development and will eventually contain a collection of tools appropriate for a low-level library and application development.

Goals and Benefits of BDE

BDE aims to provide libraries that meet superior standards in terms of their design, documentation, and testing. Every component (i.e., .h/.cpp file pair) provides thorough component-, class-, and method-level documentation, including a compilable example for using that type. Every component also has a thorough test-driver that tests every public method of that component through a comprehensive range of input (see bslstl_map.t.cpp).

These libraries, along with the tools and methodology that accompany them, are meant to enable developers to create their own C++ software that meets similar standards of quality.

The BDE Standard Library (BSL)

BSL provides a finely factored collection of modules (or components) that form the foundation for cross-platform component-based development. The library culminates in the implementation of several standard containers that take advantage of the features of the rest of BSL. Some of the highlights of BSL include:

  • Support for runtime polymorphic memory allocators
    • Provides more efficient application-specific memory-allocation behavior.
    • Provides facilities for testing memory allocation.
    • (see bslma)
  • Enhanced type trait support and trait-aware container facilities
    • Provides for efficient move semantics (similar to to C++11 move-semantics)
    • (see bslmf)
  • Support for defensive programming through a configurable assert facility
    • Support for testing those defensive checks ("negative testing")
    • (see bsls_assert and bsls_asserttest)
  • A modular system for defining hash functions
    • Based on C++ ISO Proposal N3980
    • Enhances the C++ standard defined mechanism for defining hash functions
    • See bslh
  • A facility for testing generic container instantiations with a range of troublesome types
    • (see bsltf)
  • Implementations of basic atomic operations with flexible memory semantics
    • (see bsls_atomic)

The BDE Development Library (BDL)

BDL is under active development, and will eventually contain a wide range of facilities needed for common development tasks. For example, date and time types, specialized containers, thread pools, event schedulers, and file system utilities. The current highlights of BDL include:

  • Value types and utilities for manipulating dates and times.
    • Of particular note bdlt::Date, bdlt::Datetime, bdlt::CurrentTime
    • See bdlt
  • Additional concrete implementations of the allocator interface defined in BSL
    • (see bdlma)
  • Value types and utilities that support decimal floating point arithmetic (IEEE754-2008) (see bdldfp and bdldfp_decimal)
    • These types are is useful where exact representations of decimal fractions are required (e.g., financial transactions).

Operating Systems

  • Linux
  • IBM AIX
  • Solaris
  • PC Windows
  • FreeBSD, Darwin

Compilers

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

Added : 2017-10-03 Amended: 2017-10-03 Licensing : Copyrighted freeware

Add a comment

Better Enums - Reflective enums (enum to string, iteration) with constexpr support

Better Enums is a single header file that makes your compiler generate reflective enums. These support conversion to and from string, iteration, stream operators, and have other helpful properties.

Typically, maintenance effort or external tools are required to keep enum definitions synchronized with associated string tables and other "metadata." Better Enums eliminates these needs. In addition, the output of Better Enums can be further used in your own template metaprograms and constexpr functions.

Better Enums has no dependencies beyond the standard library. It requires either C++98 with the __VA_ARGS__ extension (long supported by most major compilers), or C++11. The library is tested automatically on many versions of Clang, GCC, and MSVC, optimized for compilation speed, and thoroughly documented.

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Any standard C++ compiler

Added : 2015-10-26 Amended: 2015-10-27 Licensing : BSD style

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

Comment from : js on 2015-04-03

Page no longer available (Apr/2015)

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

Comment from : JS on 2015-04-03

The CanLib Wiki has been retired

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

cpp-measures - Header-only multi-platform C++11 library to handle physical measures

This library is aimed at those who use C++11 language in any platform to write software which uses values provided of unit of measurement, like, for example, lengths measured in metres or inches, or angles measured in degrees or radians.

Specifically, it addresses software for CAD-CAM-CAE and 3D computer games.

Such library is useful for:

  • making code self-documented;
  • making code more concise;
  • detecting logic errors at compile-time;
  • easing unit conversions;
  • avoiding the run-time overhead added by other similar libraries.
It has Mozilla 2.0 license.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2014-09-29 Amended: 2014-09-29 Licensing : Open Source

    cpp-measures - Header-only multi-platform C++11 library to handle physical measures
  • Source code
  • Documentation
  • Submitted by:Carlo Milanesi

Comment from : JS on 2015-04-03

Server not found (Apr/2015)

Add a comment


cpp-mmf - C++98 library that encapsulates memory-mapped-files for POSIX or Windows

Open source (Mozilla 2 licence) C++98 library that encapsulates memory-mapped files for all POSIX-compliant operating systems, and for Microsoft Windows operating systems starting from Windows 95. It is similar in purpose and run-time speed to the "Memory-Mapped Files" library of Boost, but it is much faster to compile (about 5 times in Linux), and generates much smaller executable code (less than a third in Linux).

Operating Systems

  • PC 32-bit Windows
  • POSIX

Compilers

  • Visual C++
  • CygWin
  • Any Unix C++ compiler

Added : 2015-10-26 Amended: 2015-10-26 Licensing : BSD style

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

Libraries available to download (D-L)

DaoLib - Static library for C++ DAO database access

DaoLib v2.0 provides a communication layer between user interface elements and underlying database objects. It consists of a complete COM proxy wrapper, a set of DAO/GUI classes and a list control dialog component. The Visual C++ developer can take advantage of its simple interface for building dialog-intensive and property sheet-intensive database applications, without the burden and overhead of the MFC DAO implementation. In addition, it provides automatic recordset listing with sorting facilities and complete printing support.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++

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

Add a comment

Database Template Library Programmer's Guide - The DTL makes ODBC recordsets look just like an STL container.

The goal of this library is to make ODBC recordsets look just like an STL container. What is more, we do this portably so the abstraction can run on multiple platforms and C++ compilers. As a user, you can move through our containers using standard STL iterators; and if you insert(), erase() or replace() records in our containers changes can be automatically migrated to the database for you. The library's compliance with the STL iterator and container standards means you can plug our abstractions into a wide variety of STL algorithms for data storage, searching and manipulation. In addition, the C++ reflection mechanism used by our library to bind to database tables allows us to add generic indexing and lookup properties to our containers with no special code required from the end-user. Because our code takes full advantage of the template mechanism, our library adds minimal overhead compared with using raw ODBC calls to access a database.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    Database Template Library Programmer's Guide - The DTL makes ODBC recordsets look just like an STL container.
  • DTL Homapage
  • Submitted by:Kizza George Mbidde
Add a comment

dbstreams - database interface library modelled on std::iostreams

dbstreams is C++ class library modelled on std::iostreams in the C++ standard library. It treats a database connection as a source or sink for data. The basic operations are the same as for iostreams: open, close, read, and write (but not seek). State information similarly borrows from std::ios: a stream has a state word with enumerated values: goodbit, badbit, failbit, eofbit. And the notation is largely the same, with operator<< and operator>> serving the purpose of sending data to and reading data from the database. In general, the design mimics iostreams, permitting the same kind of terse, economical code.

Operating Systems

  • Any after making small changes...

Compilers

  • Any Unix C++ compiler

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

    dbstreams - database interface library modelled on std::iostreams
  • home page
  • Submitted by:James K. Lowden
Add a comment

Depression Glass Debug Library - DGD

Depression Glass Debug (DGD) is simple, easy to use C++ ostream extension for debugging output. DGD is created with a goal to produce nice, readable and easy to understand trace logs.

Operating Systems

  • Linux
  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC

Added : 2003-04-09 Amended: 2008-07-22 Licensing : GNU copyleft

Add a comment

Developer - Smart Pointers

smart_ptr is a smart pointer policy class that can use different ownership logic and semantic polices, which allows the developer to get the best performance and/or interface for a particular requirement.

The smart_ptr class can be used with STL containers to create containers of smart pointers, moreover it can be used to create a container of abstract based objects via smart_ptr. In general, smart_ptr is faster than boost::shared_ptr. When used with STL containers, the smart pointer is faster than the boost pointer containers, and more generic.

Operating Systems

  • PC DOS
  • Linux
  • PC 32-bit Windows
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • OS/2
  • Unix
  • Dec Alpha
  • PC Windows
  • Dec OSF/1

Compilers

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

Added : 2006-03-14 Amended: 2006-03-14 Licensing : Public Domain

Add a comment

Developer - EzLogger

EzLogger is a C++ logging library that can easily be added to an implementation. It can be used with both C++ style stream operators and C style printf functions.

Operating Systems

  • PC DOS
  • Linux
  • PC 32-bit Windows
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • OS/2
  • Unix
  • Dec Alpha
  • PC Windows
  • Dec OSF/1

Compilers

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

Added : 2006-03-14 Amended: 2006-03-14 Licensing : Public Domain

Add a comment

DiamondBase - Add Relational Database functionality to your C++ programs

DiamondBase is a library of C++ routines and utilities that allow you to add Relational Database functionality to your C++ programs. It is written entirely in C++, and great pains have been taken to ensure it compiles under a variety of compilers. It comes with a 47 page manual.

Operating Systems

  • OS/2
  • Unix

Compilers

  • GCC
  • Cfront
  • Borland C++

Added : 1995-01-01 Amended: 2008-07-22 Licensing : Not known

Add a comment

die-xml - C++11 xml sax parser based on finite automata

a simple XML SAX parser that uses finite automata as backend.

http://code.google.com/p/die-xml/wiki/FiniteAutomaton has the automaton definitions

Features:

  • parse all kinds of XML tags
  • C++11 API
  • SAX event based interface generating the following events:
    • start document
    • end document
    • start tag
    • end tag
    • characters (including CDATA)
    • processing instruction
    • notation/element definition
  • AttributeIterator class for start document and start tag events. This allows the application to pull attribute values during the event and avoids unnecessary buffering for undesired tags
  • CharIterator class for characters event. This allows the application to pull chars during the event and avoids unnecessary buffering for undesired text nodes
Bonus Track
  • FiniteAutomata class template that can be extended to a Mealy Machine
  • a lightweight implementation of boost::optional<> with storage policy support
TBD
  • entities decoding
  • UTF-8 support (and other encodings too)
  • support configuration for ignorable white space on text nodes
Missing
  • DOM parser (can be easily built over SAX)
  • DOCTYPE validation
  • namespaces
  • text nodes outside tags
  • does not check duplicate notation and element definitions. These are handled by application events only

Operating Systems

  • Platform-independent

Compilers

  • Any standard C++ compiler

Added : 2014-10-06 Amended: 2014-10-06 Licensing : MIT

    die-xml - C++11 xml sax parser based on finite automata
  • project repository
  • Submitted by:Jose Diego Ferreira Martins
Add a comment

Dinkum Compleat Library - Standard C++, C99, and Embedded C++

The Dinkum Compleat Library combines our popular C/C++ libraries in one highly portable and flexible package. You get: -- the Dinkum C++ Library, the only library that fully conforms to ISO 14882:1998, as corrected through 2003, including support for export templates -- the Dinkum C99 Library, conforming to ISO 9899:1998, as corrected through 2003, even on compilers that don't fully support C99 -- C++ library TR1, the only complete implementation of C++ TR19768 -- the libraries mandated by all other C and C++ TRs, including C TR18037 (fixed-point arithmetic for DSPs) and C TR19768 (UTF-16 and UTF-32 data types) -- the Dinkum EC++ Library, the only add-on library that conforms to the EC++ Technical Committee specification -- the Dinkum Abridged Library, which combines EC++ with the STL portion of our C++ library -- a portable multithreading library compatible with boost.threads in C++ and with Posix pthreads in C -- a number of memory allocators for STL node-based containers, offering a variety of memory-management strategies and multithreading options -- dozens of conversions between Unicode and popular multibyte character encodings, including Chinese, Japanese, and Korean large character sets -- common extensions to the Standard C and C++ libraries to simplify adapting code written for Linux, Unix, Windows, and pre-standard dialects -- dozens of C locales to adapt to all major American and European cultures The library can be built from source code for use with a native C library, with ``safe iterator'' debugging enabled, and with exceptions disabled. It has been tested extensively on most popular compilers. It is available in both source, with ongoing support, and binary packages, for all current versions of Microsoft VC++, eVC++, and GCC. Each package includes online references in HTML. You can browse the references, and compile test programs against the library, at our web site. Compilers Current versions of Microsoft VC++ and eVC++ (V6 through V8) Current versions of GCC (V3.x and V4.x) Compilers with Edison Design Group front end

Compilers

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

Added : 2006-07-03 Amended: 2006-07-03 Licensing : Commercial

Add a comment

dlib C++ library - A portable C++ toolkit

This is a C++ library of portable sockets, threading, GUI, and directory browsing APIs as well as many container classes and other items such as a big integer, a log4j style logger, arithmetic coder, other compression related classes and much more.

Operating Systems

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

Compilers

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

Added : 2006-12-21 Amended: 2006-12-21 Licensing : Copyright (other)

Add a comment

Doctor Matrix - Matrix and vector algebra package for C++

Doctor Matrix is a matrix and vector algebra package for C++. It allows the C++ programmer to perform calculations on matrices and vectors within C++ programs. Over 50 functions are supported, including ranking, determinant calculation, matrix addition and multiplication, inversion, and more. Comprehensive documentation provides instructions for use of all functions and mathematical definitions of their purpose. Shareware version is limited to DOS programming in Borland C++ and for Tiny or Small memory models.

Special requirements: The Shareware version supports compilation only under Tiny or Small memory models. Borland C++ compiler recommended.

Operating Systems

  • PC DOS

Compilers

  • Borland C++

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

Add a comment

DOSTmUit - DOS Text Mode User Interface Toolkit

Enables C++ programmers to add a CUA-compliant user interface to their DOS programs without getting involved in screen coordinates and other messy details. The programmer merely states which interface objects are required, and how they are to be placed on the screen in relation to each other. Those familiar with the ET++ toolkit for the X windows system under Unix will get the general idea.

Includes a class documentation facility (DocClass) which will generate a large text file from the source code giving details of every class, structure, enum and extern in the toolkit. This program will also work on your own C++ source code. Source is provided.

Operating Systems

  • PC DOS

Compilers

  • Borland C++
  • Zortech C++

Added : 1995-01-01 Amended: 2008-07-22 Licensing : Non commercial

Add a comment

Drat - A C++ interface to the curses library

Drat contains several classes for interfacing with the UNIX curses library, including menus with callback's, and other common forms.

Added : 1996-02-05 Amended: 2006-12-02 Licensing : Not known

Comment from : Matthew Chaplain on 2009-07-02

Dead link.

Add a comment


dxflib - dxflib is an open source C++ library mainly for parsing DXF files.

dxflib is a C++ library for reading and writing DXF files. When reading DXF files, dxflib parses the file and calls functions that you define in your own C++ class for adding entities, layers, ...

Please note that dxflib does not store any entities or other information for you. It only passes the supported entities and other objects found in the DXF file to your C++ class.

Using dxflib to read DXF files doesn't require any knowlege of the DXF format. However, it's still an advantage to know the basics about entities, attributes, layers and blocks. To write DXF files with dxflib you definitely need an idea of how a DXF file is organized.

dxflib does not depend on any exotic other libraries, just the standard C / C++ libraries.

Operating Systems

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

Compilers

  • could be compiled, but not tested

Added : 2010-11-09 Amended: 2010-11-09 Licensing : GNU copyleft

    dxflib - dxflib is an open source C++ library mainly for parsing DXF files.
  • Homepage
  • Programmer's guide
  • Submitted by:Domenic Laritz
Add a comment

DynaMix - A New Take on Polymorphism in C++

DynaMix [ˈdainəˌmiks] (Dynamic Mixins) is a library that allows composition and modification of polymorphic types at run time.

The library is a means to create a project's architecture rather than achieve its purpose. It focuses on maximum performance and minimal memory overhead.

DynaMix is great for the software architecture of systems with very complex objects including, but not limited to:

  • Games (especially role-playing ones or strategies)
  • CAD systems
  • Enterprise systems
  • UI libraries

The library uses the type dynamix::object as a placeholder, whose instances can be extended with existing classes (mixins), thus providing a particular instance with the functionality of all those types. Accessing the newly formed type's interface is made through messages – stand-alone functions generated by the library, which can be thought of as methods.

Here is a small example of what your code may look like if you use the library:

    // assuming my_objects.get_ally(0); is a way to get an ally to the
    // main character in a game

    dynamix::object& obj = my_objects.get_ally(0);

    // now let's make the object think some positive thoughts about the
    // main character

    think(obj); // C++ doesn't allow us to have obj.think()
                // DynaMix's messages are standalone functions

    // type composition
    dynamix::mutate(obj)
        .add();

    // object can now respond to fly()

    fly(obj); // ...instead of obj.fly()

    // type mutation
    dynamix::mutate(obj)
        .remove()
        .add();

    think(obj); // the same object now thinks negative thoughts about the main
                // character, since it's no longer an ally, but an enemy

Key features of the library:

  • Compose types from mixins at run time
  • Physically separate interface and implementation
  • Fast polymorphic calls – comparable to std::function
  • No external dependencies other than the standard library
  • Non-intrusive mixins don't need to have a common parent or any special code inside
  • Mutate "live" objects by changing their composition at run time
  • Have multicast messages, which are handled by many mixins within an object
  • Possibility to have custom allocators to finely tune the memory and aim for cache-locality for critical parts of the code
  • Ability to have dynamic libraries that can enrich or modify objects, without modifying, or even rebuilding, the executable
  • Thread safe message calls – as thread safe as the underlying methods.

Operating Systems

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

Compilers

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

Added : 2017-03-10 Amended: 2017-03-10 Licensing : MIT

Add a comment

eigen - C++ template library for linear algebra: vectors, matrices & related algorithms

Eigen is a C++ template library for linear algebra: vectors, matrices, and related algorithms. It is:
  • Versatile. (See modules and tutorial). Eigen handles, without code duplication, and in a completely integrated way:
    • both fixed-size and dynamic-size matrices and vectors.
    • both dense and sparse (the latter is still experimental) matrices and vectors.
    • both plain matrices/vectors and abstract expressions.
    • both column-major (the default) and row-major matrix storage.
    • both basic matrix/vector manipulation and many more advanced,
    • specialized modules providing algorithms for linear algebra, geometry, quaternions, or advanced array manipulation. various numeric types out of the box, including std::complex numbers, while being easy to extend to custom numeric types.
  • Fast. (See benchmark).
    • Expression templates allow to intelligently remove temporaries and enable lazy evaluation, when that is appropriate -- Eigen takes care of this automatically and handles aliasing too in most cases.
    • Explicit vectorization is performed for the SSE (2 and later) and AltiVec instruction sets, with graceful fallback to non-vectorized code. Expression templates allow to perform these optimizations globally for whole expressions.
    • With fixed-size objects, dynamic memory allocation is avoided, and the loops are unrolled when that makes sense.
    • For large matrices, special attention is paid to cache-friendliness.
  • Elegant. (See API showcase). The API is extremely clean and expressive, thanks to expression templates. Implementing an algorithm on top of Eigen feels like just copying pseudocode. You can use complex expressions and still rely on Eigen to produce optimized code: there is no need for you to manually decompose expressions into small steps.
  • Compiler-friendy. Eigen has very reasonable compilation times at least with GCC, compared to other C++ libraries based on expression templates and heavy metaprogramming. Eigen is also standard C++ and supports various compilers.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC
  • Sun CC
  • Intel C++

Added : 2009-11-25 Amended: 2009-11-25 Licensing : Open Source

    eigen - C++ template library for linear algebra: vectors, matrices & related algorithms
  • Homepage
  • Submitted by:Anonymous
Add a comment

EO - Evolutionary computation library

EO (Evolvable|Evolutionary objects) is a C++ toolbox for evolutionary computation which defines interfaces for many classes of algorithms used in evolutionary computation, and, at the same time, provides some examples that use those interfaces. The client/user can include those objects in his or her programs, or create their own. If new objects are created, the GeNeura team commit themselves to test them, and make them available to the Evolutionary Computation community. In this way, no changes have to be made to the library design or to a program that implements an EC algorithm: just new classes added. Our intention would be that, in the future, somebody implementing an EC algorithm would say "I am using EO, plus a class that hs been made publicly available", improving repeatability of EC results and easing its availability.

It contains classes for any kind of evolutionary computation you might come up to, except maybe genetic programming. Here are its features

  • Chromosomes: Can be defined by the user; binary, floating point and string are provided. All algorithms defined work on all kind of chromosomes.
  • Genetic operators: Can be defined by the user. Several floating point, bitstring, and generic operators are defined, like mutation, crossover, and things like that.
  • Selection/elimination procedure: Can be defined by the user. Steady-State and rank-based are provided.
  • Reproduction procedure: Can be user defined (I'll skip that from now on, but everything can be user-defined). Random and rank-based are provided.
  • Termination conditions: (user-definable) fitness and generation-based.
  • Algorithms: Easy Ga, SimpleGA and simulated annealing with user-definable cooling schedule.
  • Some utilities: command-line parsing, random-number generations
  • Examples: examples that test all features, plus genetic mastermind.
  • User interface: an example that uses gtk is provided
  • Documentation in html.

RELEASES:

New releases are made almost every day. Check at the site. Probably, cvs access will be provided in the future.

Operating Systems

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

Compilers

  • Visual C++
  • GCC
  • CygWin

Added : 1998-07-24 Amended: 2008-07-22 Licensing : Copyrighted freeware

Add a comment

Fast Light Toolkit - GNU LGPL GUI toolkit for X11 and Windows

FLTK (pronounced "fulltick") is a LGPL C++ graphical user interface toolkit for X (UNIX&reg;), OpenGL, and WIN32 (Microsoft&reg; Windows&reg; NT 4.0, 95, or 98). It is currently maintained by a small group of developers across the world with a central repository in the US.

FLTK was originally created to build in-house applications at Digital Domain for image processing and 3D graphics. The original author, Bill Spitzak, received permission from Digital Domain to release it to the public domain in the hopes that it could be used to make better, faster, and nicer-looking UNIX programs. Digital Domain has since withdrawn support for FLTK, but Bill is still able to work o!n it from time to time. FLTK was designed to be small and modular enough to be statically linked. FLTK also works fine as a shared library and has started being included on Linux distributions.

Here are some of the core features unique to FLTK:

  • sizeof(Fl_Widget) == 40 to 48
  • The "core" (the "hello" program compiled & linked with a static FLTK library using gcc on a 486 and then stripped) is 110k.
  • The FLUID program (which includes every widget) is 372k.
  • Does not use macros, templates, multiple inheritance, or exceptions.
  • Written directly atop Xlib (or the WIN32 API) for maximum speed, and carefully optimized for code size and performance.
  • Precise low-level compatibility between the X and Windows version (only about 10% of the code is different).
  • Interactive user interface builder program. Output is human-readable and editable C++ source code.
  • Support for overlay hardware (emulation if none and under Windows)
  • Very small & fast portable 2-D drawing library to hide Xlib and WIN32
  • OpenGL/Mesa drawing area widget
  • Support for OpenGL overlay hardware on both X and Windows. Emulation if none.
  • Text input fields with Emacs key bindings, cut & paste, and foreign letter compose!
  • Compatability header file for the GLUT library
  • Compatability header file for the XForms library

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sparc
  • SGI Irix
  • IBM AIX
  • Solaris
  • HP UX
  • OS/2
  • Unix
  • X Windows
  • SYSV
  • Dec Alpha
  • SCO Open Desktop
  • Unisys Unixware
  • Dec OSF/1

Compilers

  • Visual C++
  • GCC
  • Sun CC
  • IBM xlC
  • SGI NCC
  • MetroWerks CodeWarrior
  • Borland C++
  • HP C++
  • Any standard C++ compiler

Added : 2000-04-26 Amended: 2000-04-26 Licensing : GNU copyleft

    Fast Light Toolkit - GNU LGPL GUI toolkit for X11 and Windows
  • FLTK Home Page
  • Submitted by:mike@easysw.com
Add a comment

FastFormat - 100% type-safe, infinitely extensible, very high performance C++ format library

FastFormat is an open source C++ formatting library, whose design parameters are 100% type-safety, efficiency, and flexibility. It is simple to use, highly-portable (platform and compiler-independent), and is infinitely extensible.

FastFormat supports output/formatting of statements of arbitrary complexity, consisting of heterogeneous types. It provides two APIs:

  • Format: provides replacement-based formatting, like Streams (printf()-family), Boost.Format()
  • Write: provides concatenation-based formatting, like IOStreams

FastFormat writes to output "sinks", which can be of arbitrary type. It implicitly supports any type that is structurally conformant with the standard library's string, and the library includes adaptors to allow writing to:

  • std::ostream
  • FILE*
  • STLSoft's auto_buffer
  • C-style string buffers and character buffers
  • ACE's ACE_String
  • ATL's CComBSTR
  • MFC's CString
  • std::stringstream
  • speech (currently Windows-only)
  • Windows' OutputDebugString()
  • Windows' MessageBox()
Adaptation to a new type requires the definition of a single function.

FastFormat is robust. Both APIs are 100% type-safe - something no other C/C++ widely-used formatting library can claim - and with the Write API it is impossible to compile defective code.

FastFormat is fast. The processing of each statement involves at most one memory allocation to hold the entire statement, and each statement element is measured and copied exactly once. As a consequence, the library is on a par with (the type-unsafe) C's Streams (printf()-family) of functions, faster than C++'s IOStreams (by 2-10x) and Loki.SafeFormat (by 1-5x), and considerably faster than Boost.Format (by 5-17x).

FastFormat supports I18N/L10N by using numbered arguments, enabling reordering of arguments by exchanging format strings. The library comes with a number of resource bundles, classes whose instances can load sets of localised resource strings for use as format strings.

FastFormat does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Comeau (4.3.3+), GCC (3.4+), Intel (8+), Metrowerks (8+), Microsoft Visual C++ (6.0+), and should work with any reasonably modern C++ compiler.

FastFormat is completely free and includes source released under a BSD-style license. Commercial customisations and related consultancy are provided by Synesis Software.

FastFormat features in a series of articles in ACCU's peer-reviewed Overload magazine:

  • An Introduction to FastFormat, part 1: The State of the Art, Matthew Wilson, Overload #89, February 2009
  • An Introduction to FastFormat, part 2: Custom Argument and Sink Types, Matthew Wilson, Overload #90, April 2009
  • An Introduction to FastFormat, part 3: Solving Real Problems, Quickly, Matthew Wilson, Overload #91, June 2009

Examples:

  • Emulate Streams' ability to specify widths:

      printf("[%-10d, %10d]\n", 123, -456);

      fastformat::fmtln(std::cout, "[{0,10,,<}, {1,10}]", 123, -456);

    Both produce the output:

      [123       ,       -456]

  • Handle heterogeneous types:

      struct connection_t
      {
        std::string     connectionId;
        struct in_addr  remoteAddress;
        struct in_addr  localAddress;
        unsigned short  port;
        unsigned long   numBytesTransferred;
        struct tm       completionTime;
      };

      void log_connection(connection_t const& conn)
      {
        fastformat::fmtln(
          std::cout
        , "{0} {5} {1} {2} {3} {4}"
        , conn.connectionId
        , conn.remoteAddress
        , conn.localAddress
        , conn.port
        , conn.numBytesTransferred
        , conn.completionTime
      );
      }


    Produces output like:

      channel-1 May 03 03:50:41 2009 192.168.160.247 127.0.0.1 5651 102401

  • Emulate Boost.Format's absolute tabulations (with a little indirection):

      std::cout
          << boost::format("%1% %2%, %|20t|lives at %3%\n")
              % "Mr"
              % "Smith"
              % "the Smith residence"
          << std::endl;


      std::string scratch;

      fastformat::fmtln(
          std::cout
      ,   "{0,20,,<}lives at {1}"
      ,   fastformat::fmt(
              scratch
          ,   "{0} {1}, "
          ,   "Mr"
          ,   "Smith"
          )
      ,   "the Smith residence"
      );


    Both produce the output:

      Mr Smith,           lives at the Smith residence

Performance:

FastFormat's performance has been extensively tested, and in every case it has superior performance to the C++ standard library's IOStreams, Boost.Format and Loki.SafeFormat. In most cases it has equivalent performance to the (type-unsafe) C standard library's Streams (printf()-family). Test results are included on the project website, and in the first in the Overload article series; the third article in the series has a further set of four performance tests, based on real-world uses of FastFormat in commercial projects.

Features:

  • 100% type-safe
  • Presents a natural syntax
  • Infinitely extensible
  • Highly-efficient:
    • no intermediate memory allocations
    • no intermediate string copying
    • no repetition of any string-length calculations
    • at most one allocation required to produce the resultant string
  • Verified with Borland, Metrowerks' CodeWarrior, Digital Mars, GCC, Intel, and Visual C++ compilers
  • Verified on Linux, Mac OS-X, and Windows

Requirements:

    STLSoft libraries (1.9.1 beta 81 or later); 100% header-only open-source.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • Any after making small changes...
  • Intel C++
  • Comeau
  • Digital Mars

Added : 2009-05-11 Amended: 2009-05-11

Add a comment

FCE - Ftp Client Engine Library for C/C++

FTP Client Engine (FCE) Library for C/C++ Win16 & Win32 DLLs v1.1, [ASP]. The FCE can connect to any FTP server and navigate its directory structure, list files, download files, delete files, and upload files all from within your application. Requires Windows C/C++ compiler. By MarshallSoft Computing.

Operating Systems

  • PC Windows

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

Add a comment

FEMTown - Open-Source Multi-Physics Finite Element Framework

FEMTown is designed to solve partial differential equations (PDE) using spatial finite-element discretizations. FEMTown provides

  1. an extensive library of elements,
  2. variable interpolation schemes (p-adaptivity),
  3. shape-function calculations,
  4. numerical integration,
  5. sparse and dense matrix manipulations,
  6. assembly routines,
  7. numerical solvers,
  8. exchange of common file formats

<h4>Applications</h4> FEMTown also includes open-source end-user applications:

  1. contribution calculations for acoustics and
  2. visco-elastic materials.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sparc
  • SGI Irix
  • Sun
  • Cray
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • Convex
  • Dec Alpha
  • PC Windows
  • NEC, Fujitsu, Hitachi

Compilers

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

Added : 2001-09-28 Amended: 2001-09-28 Licensing : Public Domain

Add a comment

FFLL - Free Fuzzy Logic Library

The Free Fuzzy Logic Library (FFLL) is an open source fuzzy logic class library and API that is optimized for speed critical applications, such as video games. FFLL is able to load files that adhere to the IEC 61131-7 standard.

Operating Systems

  • could run on any OS, but not tested

Compilers

  • could be compiled, but not tested

Added : 2010-11-16 Amended: 2010-11-16 Licensing : BSD style

Add a comment

FFTPACK++ - C++ version of FFTPACK

FFT_Pack is a C++ wrapper for FFTPACK complex routines using LAPACK++ Matrix and Vector classes. FFTPACK routines were converted to C using f2c and also modified to use double precision complex using -r8 to f2c.

Most of this code was lifted directly from GNU OCTAVE v1.1.0, hence the copyright notice at the top.

The forward FFT takes you to freq domain (ala direction == -1), and backward the other way.

Passing LaVectorComplex/Double or LaGenMatComplex/Double with one dimension set to 1 will implicitly perform 1D FFT on the data.

The members of the FFT_Pack class are declared static, since they really need no private member storage. There are two types of transform routines: ones that return a new complex matrix and the ones that change the matrix in place.

The original FFTPACK does not appear to be available any more, but I found the link below to a different (possibly improved) version.

Compilers

  • GCC
  • Cfront

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

Comment from : js on 2015-04-03

Dead link (Apr/2015)

Add a comment


FFTW - Fast C library for computing the Fast Fourier Transform (FFT)

FFTW is a C library for performing the FFT in one or more dimensions. It also includes real-complex and parallel transforms. In our benchmarks, FFTW compares favorably to other portable codes for most platforms and transform sizes, and is often competitive with vendor-tuned libraries for specific machines.

Operating Systems

  • Platform-independent

Added : 1997-11-27 Amended: 1999-06-21 Licensing : GNU copyleft

Add a comment

Field3D - A file format and data structures for storing 3D voxel and simulation data

Field3D is an open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk.

The library and file format is both flexible and extendable. The flexibility comes from supporting heterogeneous storage of data structures, bit depths, transformations/mappings and metadata in a single file. When functionality needs to be extended, the plugin and class factory architecture allows new data structures, mappings and file I/O routines to be added.

Field3D was developed with the needs and scale of visual effects production in mind. Dense and MAC-fields handle the basic tasks in fluid simulation and volume rendering, and where memory becomes a limiting factor optimization of used/unused space is provided by the sparse fields, which include an out-of-core/dynamic loading mechanism. Procedural fields are also supported, which may be used interchangeably with voxel-based fields.

The code was initially developed at Sony Pictures Imageworks as a replacement for the three different in-house file formats previously used to store voxel data. It is currently used in several contexts: both our volume rendering and fluid simulation frameworks use it as their native data structures and file format, and in Houdini it serves as the base for our voxel and levelset editing toolsets.

Operating Systems

  • could run on any OS, but not tested

Compilers

  • could be compiled, but not tested

Added : 2010-11-16 Amended: 2010-11-16 Licensing : BSD style

    Field3D - A file format and data structures for storing 3D voxel and simulation data
  • Project home page
  • Submitted by:Domenic Laritz
Add a comment

FireBreath - Cross-browser, cross-platform browser-plugin framework.

FireBreath makes it easy to develop browser-plugins that target Internet Explorer and browsers with NPAPI support (Firefox, Chrome, Safari, Opera, etc.) on Windows, Mac OS X and Linux. It is licensed under a dual license structure, which means you can choose which of two licenses to use it under. FireBreath can be used under the New BSD license or the GNU Lesser General Public License v2.1.

Operating Systems

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

Compilers

  • Visual C++
  • GCC

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

Add a comment

FLENS - C++ Library for High-Performance Numerical Linear Algebra

FLENS is short for "Flexible Library for Efficient Numerical Solutions"

FLENS extends C++ for matrix/vector types that are ideally suited for numerical linear algebra. That's it ...

...but the consequences are immense. The simplicity of its design makes the combination FLENS/C++ a powerful tool for the development of high performance applications and libraries in scientific computing.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • GCC
  • Any standard C++ compiler
  • Intel C++

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

    FLENS - C++ Library for High-Performance Numerical Linear Algebra
  • FLENS
  • Submitted by:Michael Lehn
Add a comment

FRUCTOSE - Andrew Marlow's C++ Unit Testing Framework

C++ unit testing framework, very cutdown compared to CppUnit but very simple and implemented entirely using header files.

Operating Systems

  • Any after making small changes...

Compilers

  • Any standard C++ compiler

Added : 2008-07-29 Amended: 2008-07-29

Add a comment

G3Log - Asynchronous logger, cross-platform and "crash safe"

G3log is an asynchronous "crash safe" logger used on at least the following platforms:
  • Linux/g++ 4.7.4 and higher
  • OSX/g++ and Clang
  • Windows/g++ and VS2013
All slow I/O and logging sink processing is done in background threads. At shutdown all buffered log entries are flushed to the sinks before exiting.

Fatal events such as segmentation fault (SIGSEGV) are caught And a stackdump is added to the buffered log entries. This ensures the same reliability as if using a slower synchronous logger.

Logging sink receivers are easy to add in runtime.

Operating Systems

  • Linux
  • PC Windows
  • Mac
  • Platform-independent

Compilers

  • GCC

Added : 2014-10-06 Amended: 2014-10-06 Licensing : Public Domain

Add a comment

GAGS - C++ class library for Genetic algorithms

It includes classes for chromosomes and populations.

Library:binary chromosome representation. Genetic operators: mutation, xOver (n-pt and uniform), remove/reinsert. Selection operator: steady state, tournament, roulette wheel. Perl and/or tcl/tk graphic front-end. Graphics through gnuplot. Training from file.

Application generator: it needs only an ANSI-C definition of the fitness function. It's parsed, and a program that runs a GA on it is generated.

Operating Systems

  • Unix

Compilers

  • GCC
  • SGI CC
  • Sun CC

Added : 1996-02-08 Amended: 1996-02-08 Licensing : Copyrighted freeware

Add a comment

GAME - Parallel Genetic Algorithms Theory and Applications

Edited by: J. Stender
Publisher: IOS Press
Frontiers in Artificial Intelligence and Applications series
1993, 225 pp; hard cover; w/ disk
ISBN: 90 5199 087 1
Price: $85, 59 pounds sterling

The first version of the GAME Virtual Machine software and two examples that come with the book can be obtained also by ftp.

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

Add a comment

GECOOL 2.1 - A reworking and enhancement of Texas Instrument's "C++ Object Oriented Library"

By some programmers at General Electric.

Also available is JCOOL. Its main difference from COOL and GECOOL is that it uses real C++ templates instead of a similar syntax that is preprocessed by a special 'cpp' distributed with COOL and GECOOL.

Some users behind "firewalls" have had difficulty accessing the ftp site.

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

Add a comment

Generic Linked List Package

A package to define, create, update query and delete one or more (nodes of) linked lists, to sort linked lists, and so on. The user doesn't have to take care of allocating a number of bytes for a node, inserting on the right place, deleting and freeing a node and so on.

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

Add a comment

GiNaC - Symbolic computation embedded in C++

GiNaC is an iterated and recursive acronym for GiNaC is Not a CAS, with CAS standing for Computer Algebra System. It is designed to allow the creation of integrated systems that embed symbolic manipulations together with more established areas of compute r science (like computation- intense numeric applications, graphical interfaces, etc.) under one roof. It is distributed under the terms and conditions of the GNU general public license GPL.

It implements a class hierarchy with the basic classes needed to create symbolic expressions, including abritrary length/precision numbers (drawing from the CLN library). The classes provide basic symbolic manipulations as well as memory management through reference counting, disk-I/O, etc. Using the Cint C/C++ interpreter it is even possible to use it in an interactive manner.

It is written in standard C++ and should compile on any compliant compiler. Since it has to be linked with CLN, however, it is somewhat tricky (but not impossible) to do so on other compilers than GCC.

Operating Systems

  • Linux
  • Solaris
  • Unix
  • Irix

Compilers

  • GCC

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

Add a comment

gleem - OpenGL Extremely Easy to use Manipulators

A C++ library of Open Inventor-style manipulators (3D widgets) for direct interaction with a 3D scene. Written using OpenGL and GLUT and very easy to incorporate into an existing OpenGL/GLUT application. Developed on Irix, but should be easily portable.

NOTE: this version of gleem is no longer being maintained. The current sources are in the jogl-demos workspace at the url below and are covered under the BSD license.

Operating Systems

  • SGI Irix

Compilers

  • SGI CC

Added : 1998-12-03 Amended: 2008-07-29 Licensing : GNU copyleft

Add a comment

GNU Plotutils - A library for exporting 2-D vector graphics in many file formats.

The GNU plotutils package contains software for both programmers and technically oriented users. Its centerpiece is the libplot/libplotter, a C/C++ function lib for exporting 2-D vector graphics in many file formats (including WebCGM format, recommended by the graphics Activity of the W3 Consortium). It can also do vector graphics animations, has thread-safe APIs, and supports the use of Posix threads (if available). The program also contains the following command-line programs for plotting scientific data:
  • graph- plots 2-D datasets or data streams in real time
  • plot- translates metafile formats to any of the other formats
  • tek2plot- translates legacy Tektronix data to any of the above formats
  • pic2plot- translates the pic language to any of the other formats
  • plotfont- displays character maps of the fonts available in the above formats.
  • spline- spline interpolation of data
  • ode- numerically integrates ordinary differential equations

Operating Systems

  • Linux
  • Sparc
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • X Windows
  • OSF
  • SYSV
  • Convex
  • Dec OSF/1

Compilers

  • GCC
  • Dec CC
  • SGI CC
  • Sun CC
  • IBM xlC

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

Add a comment

Grail - Symbolic computation with finite-state machines and regular expressions

Supports conversion of FSM to RE and back and also conversion to and from finite languages. Supports many algebraic operations on FSM and RE. All objects are templates, so you can parameterize FSM or RE to use any C++ class or base type as its alphabet type (hence, Mealy machines are supported by using ordered pairs as the alphabet type).

Compilers

  • IBM xlC
  • Cfront
  • Watcom C++
  • IBM Cset++

Added : 1996-05-22 Amended: 2008-07-29 Licensing : Education

Add a comment

Grayscale Image Processing

Enhanced grayscale image processing class library and verification code, source code

Keywords: image arithmetics, median filtration, morphological filtration, convolution, lazy image, TIFF, plasma fractals, nondeterministic filter, class library

Operating Systems

  • PC 32-bit Windows
  • rs6000-aix-3.2
  • Solaris
  • Dec Alpha
  • Mac
  • HP 9000
  • FreeBSD
  • Concurrent Maxion 8000/RTU
  • BeOS

Compilers

  • GCC
  • Sun CC
  • MetroWerks CodeWarrior
  • Borland C++

Added : 1996-05-22 Amended: 1997-03-19 Licensing : Public Domain

Add a comment

GRETA Regular Expression Template Archive - Fast, Perl 5-compliant regular expression template library for C++

GRETA is a (yet another) C++ template library for regular expression pattern matching. It was developed in Microsoft Research. GRETA's distinguishing features are: high performance, Perl compatibility, and clean STL integration. You can perform matches with any bidirectional iterator type, or on a std::basic_string, or on a C-style NULL-terminated string. It supports wide and narrow character types (wchar_t and char) and respects the C locale setting (as specified by setlocale()). GRETA lets you customize regular expression syntax via a syntax module template parameter. Perl 5 and Basic POSIX syntax modules are included.

Operating Systems

  • Linux
  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC

Added : 2002-06-21 Amended: 2004-06-15 Licensing : Non commercial

Comment from : js on 2015-04-03

Dead link

Add a comment


GTAD - Graph Toolkit for Algorithms and Drawings

The GTAD (Graph Toolkit for Algorithms and Drawings) is an attempt to construct a set of flexible, reusable, and efficient C++ implementations of graph representations and algorithms (including drawing/layout). It is developed with the generic programming paradigm and under the same principles of the BGL (Boost Graph Library).

Operating Systems

  • Platform-independent

Compilers

  • GCC
  • Visual C++ .NET

Added : 2008-09-16 Amended: 2008-09-16 Licensing : Open Source

    GTAD - Graph Toolkit for Algorithms and Drawings
  • Main website
  • Submitted by:Leandro Melo
Add a comment

GTL - The Graph Template Library

The Standard Template Library (STL) is supposed to become a part of the C++ standard library and therefore is an ideal basis when writing portable programs.

Unfortunately, STL has no support for graphs and graph algorithms. However, graphs are widely used to model complex relational structures.

Since we are intensively working with graph algorithms and Graphlet, we decided to implement GTL, a graph library based on STL. For the design of GTL's API the API of LEDA has served as a basis. GTL contains the classes needed to work with graphs, nodes and edges and some basic algorithms as building blocks for more complex graph algorithms. Further algorithms are under work.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Solaris
  • HP UX

Compilers

  • Visual C++
  • GCC

Added : 2000-04-26 Amended: 2000-04-26 Licensing : Copyright (other)

Add a comment

GzipFile - MFC C++ objects compressed to disk.

Gzipfile compresses MFC serialized document data. The only code changes required are a few include statements and macro instantiations in a CDocument derived class. Uncompressed documents can still be loaded and all saved documents are compressed.

The compression engine is mature, widely used and extremely fast.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++
  • Borland C++

Added : 1998-07-24 Amended: 2003-07-29 Licensing : Shareware

Add a comment

Hans Boehms GC - Hans Boehms free Garbage Collector

Conservative garbage collector for C/C++. Several interfaces are provided. Can be used as a transparent malloc replacement, or implements much of the Detlefs/Ellis C++ GC proposal, or can be used as an allocator for SGI's STL.

Can be used with the large majority of operating systems that support 32- or 64-bit flat addressing, i.e. almost all UNIX variants, win32, and a few others.

Operating Systems

  • PC 32-bit Windows
  • Unix

Added : 1995-01-01 Amended: 2008-07-29 Licensing : Copyrighted freeware

Add a comment

High level vector operations

Contains the Aitken-Lagrange interpolation over the table of uniform or arbitrary mesh, and the Hook-Jeevse multidimensional minimizer. Precision single/double.

Obsolete - now part of the Lin-alg package.

Added : 1995-01-01 Amended: 2008-11-04 Licensing : Not known

Add a comment

HugeCalc - Arbitrary accuracy large integer calculations

HugeCalc is a package for performing long integer calculations with up to 300 digits of accuracy. The package allows C++ programmers to define objects of type HugeInt and use them just like ordinary integers to perform addition, subtraction and multiplication operations. Most of the ordinary mathematical operators are supported in the ordinary fashion. Includes object modules for Borland C++, example programs and complete documentation. Shareware version contains object modules for tiny, small and medium memory models only.

Operating Systems

  • PC DOS

Compilers

  • Visual C++
  • Borland C++

Added : 1997-11-27 Amended: 1997-11-27 Licensing : Shareware

Add a comment

ICU - Unicode Support Library

Provide Unicode Support for C++, C and Java Short list of features: Character set conversions, Unicode Strings, collation, Unicode character properties access, locale management, resource management, calendars, date/time, message formatting, language transliteration, text layout, regular expressions. Separate APIs for C++ and C.

Licence restrictions: Open Source, X license, http://www.x.org/terms.htm

Operating Systems

  • Linux
  • PC 32-bit Windows
  • IBM AIX
  • Solaris
  • HP UX
  • Dec Alpha
  • Mac
  • FreeBSD
  • IBM OS390, OS400
  • IA64 Windows XP

Compilers

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

Added : 2002-03-08 Amended: 2008-07-29 Licensing : Copyrighted freeware

Add a comment

Image Magick - Image manipulation application and libraries

Jeff Donner writes :-
It isn't C++ but C, but it's so cross-platform and comprehensive an image package, I thought you should know about it. If you look at their page you don't see anything about the libs, but they (and all source) are included with the app. They're free, (commercial use OK, copyright only) and useful.

ImageMagick does a pretty thorough job of reading & writing most image formats.

Added : 1998-12-03 Amended: 2003-03-13 Licensing : Copyrighted freeware

Add a comment

ImageLib - An Image Processing C++ Class Library

ImageLib is a C++ class library providing image processing and related facilities.

The main set of classes provides a variety of image and vector types, with additional modules supporting scalar and vector quantisation, wavelet transforms, DCT transforms, and simple histogram operations.

Tested on Solaris and FreeBSD, but should work with most other UNIX versions. Most features are not operating system specific.

Operating Systems

  • Linux
  • Solaris
  • FreeBSD

Compilers

  • GCC
  • Sun CC
  • KAI C++

Added : 1998-07-27 Amended: 2000-04-26 Licensing : GNU copyleft

Add a comment

iMatrix - Matrix classes implementation

Keywords: matrix, matrix operation, C++, class template .

Implementation of a matrix and some matrix operation based on class-template concept. The key different from others is the implemenation of the separate matrix operation as separate class-template. A few small particularities would be effective.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • PC Windows

Compilers

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

Added : 2000-05-25 Amended: 2000-05-25 Licensing : Public Domain

Comment from : F. Beekhof on 2008-09-10

Link is dead.

Add a comment


IMP, the Integrative Modeling Platform - IMP is a platform for modeling the structure and dynamics of protein assemblies

IMP's broad goal is to contribute to a comprehensive structural characterization of biomolecules ranging in size and complexity from small peptides to large macromolecular assemblies. Detailed structural characterization of assemblies is generally impossible by any single existing experimental or computational method. This barrier can be overcome by hybrid approaches that integrate data from diverse biochemical and biophysical experiments (eg, x-ray crystallography, NMR spectroscopy, electron microscopy, immuno-electron microscopy, footprinting, chemical cross-linking, FRET spectroscopy, small angle X-ray scattering, immunoprecipitation, genetic interactions, etc...). We formulate the hybrid approach to structure determination as an optimization problem, the solution of which requires three main components:
  • the representation of the assembly,
  • the scoring function and
  • the optimization method.
  • The ensemble of solutions to the optimization problem embodies the most accurate structural characterization given the available information.
We created IMP, the Integrative Modeling Platform, to make it easier to implement such an integrative approach to structural and dynamics problems. IMP is designed to allow mixing and matching of existing modeling components as well as easy addition of new functionality. We encourage and support contributions from other laboratories through the IMP Community.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

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

Added : 2011-05-31 Amended: 2011-05-31 Licensing : Open Source

    IMP, the Integrative Modeling Platform - IMP is a platform for modeling the structure and dynamics of protein assemblies
  • website
  • Submitted by:Daniel Russel
Add a comment

Intel Threading Building Blocks - Intel TBB offers a rich and complete approach to expressing parallelism in a C++

Intel® Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you take advantage of multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanisms for scalability and performance.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    Intel Threading Building Blocks - Intel TBB offers a rich and complete approach to expressing parallelism in a C++
  • Intel TBB Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

InterViews - GUI class library developed by Stanford University

Make sure you get v3.1 or later. This library contains excellent examples of multiple inheritance used profitably. I understand that InterViews development will not continue past the current version; author Mark Linton is concentrating his efforts on the X Consortium Fresco project, which should show up in X11R6.

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

Add a comment

iof - Replacement for printf/scanf in C++

Many people wonder how to get the same effects using C++ streams as they would using printf/scanf. They are usually pointed to STL manipulators with std::setw etc.

There is at least one: the iof library at http://iof.sourceforge.net. There is also the boost format library (http://www.boost.org) but it doesn't support scanf-like input.

Operating Systems

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

Compilers

  • Visual C++
  • GCC

Added : 2006-12-01 Amended: 2007-04-10 Licensing : Copyrighted freeware

Add a comment

Irrlicht - Lightning fast realtime 3D engine

The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3D engines.

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior

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

Add a comment

ISC366.ZIP - Interrupt Service Class (v. 3.66)

Allows hooking of interrupts (software and hardware) into classes, comes with classes for staying resident, for serial communication (interrupt driven), and like-wise classes. Comes with full source code!

Operating Systems

  • PC DOS

Compilers

  • Borland C++

Added : 1995-01-01 Amended: 1995-01-01 Licensing : Public Domain

Add a comment

Ivf++ - C++ OpenGL visualisation library

Ivf++ is a simple OpenGL based C++ visualisation framework. The main goal with Ivf++ was not to create a complete visualisation library, but create a foundation of classes that can be extended in simple ways. Ivf++ contains a simple gui framework based on FLTK. Ivf++ can also be used together with other GUI libraries using provided widgets. Currently Win32, FLTK, and MFC are supported.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • SGI Irix

Compilers

  • Visual C++
  • GCC
  • SGI CC

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

Add a comment

ivmaps - C++ libraries for manipulation and visualization of geo-spatial map data

ivmaps is a set of C++ libraries for reading, writing, processing, painting, viewing, and querying map data, with 2D and 3d map viewers that support DEM elevation data, DLG and VPF vector map data, and DRG and DOG raster. Compiles on ivtools and PROJ-4.3.3 from the USGS. Optionally can be compiled to use ACE, clippoly, Vtk, and Mesa.

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

Add a comment

ivtools - C++ frameworks for graphical editors and spatial data servers

ivtools is a set of C++ frameworks for building graphical editors, spatial data servers, and combinations of both. It incorporates an alternate distribution of the InterViews and Unidraw libraries last published by Stanford University and Silicon Graphics in release 3.2a. New C++ libraries augment the baseline drawing editor mechanism of Unidraw with various features, which are then used in drawing editors evolved from idraw: a network-ready editor, a multi-frame flipbook editor, and a hiearchical node-graph editor. Optionally can be compiled to use ACE and clippoly C++ libraries.

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

Add a comment

ixlib - c++ tools library

ixlib is a C++ tools library based upon the STL. It provides garbage collection, a small well-integratable JavaScript interpreter, linear algebra components (e.g., linear solver, LU decomposition), planar geometry, polygons, automatic arrays, rasterization for geometric primitives and polygons, regular expressions and XML parsing (non-DTD). Its main design goals were simplicity and small size.

GNU C++ 2.95.2 (linux and mingw32) tested, any ISO-compliant compiler should work.

Compilers

  • GCC

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

Add a comment

jjLibrary - C++ Pattern Library

jjLibrary is a C++ library which provides
  1. jjPattern : Pattern-based container class (Hash, Tree, List, Graph)
  2. jjErrno : error handling, and
  3. jjCGI : CGI library

jjPattern has unique feature which can be compared to STL.

Operating Systems

  • Linux
  • HP UX
  • could run on any OS, but not tested

Compilers

  • GCC
  • HP C++
  • could be compiled, but not tested

Added : 2004-09-06 Amended: 2004-09-06 Licensing : GNU copyleft

Add a comment

JPTUI - Textual user interface for DJGPP

Textual user interface for DJGPP 2, v4.0e

JPTUI is an object-oriented textual user interface. Designed for C++, it provides a simple to use application programming interface. JPTUI is available for DJGPP 2 and Borland C++ 4.

I am told that this library is no longer on Simtel, but there is an older version stil available via ftp from a different site.

Operating Systems

  • PC

Compilers

  • DJGPP
  • Borland C++

Added : 1998-02-24 Amended: 2000-04-26 Licensing : Copyrighted freeware

Add a comment

jsoncons C++ header-only library - JSON construction with JSONPointer, JSONPatch, J

jsoncons is a modern C++, header-only library for constructing JSON. It supports parsing a JSON file or string into a json value, building a json value in C++ code, and serializing a json value to a file or string. It also provides an API for generating json read and write events in code, somewhat analogously to SAX processing in the XML world. It is distributed under the Boost Software License.

jsoncons uses some features that are new to C++ 11, including move semantics and the AllocatorAwareContainer concept. It has been tested with MS VC++ 2015, GCC 4.8, GCC 4.9, GCC 6.2.0 and recent versions of clang. Note that std::regex isn't fully implemented in GCC 4.8., so jsoncons_ext/jsonpath regular expression filters aren't supported for that compiler.

Operating Systems

  • Linux
  • PC Windows
  • Mac

Compilers

  • Visual C++
  • GCC
  • Any Unix C++ compiler

Added : 2018-01-19 Amended: 2018-01-19 Licensing : Boost

Add a comment

JsonMe++ - JSON parsing C++ wrapper library with operator overloading.

The JsonMe++ (JSON Made easy for C++) library is a C++ wrapper for the JSON-Glib C library. The library makes heavy use of C++ syntactic sugar type C++ language constructs, most notably the subscript operator and cast operator as essential API components, which makes this JSON library extremely simple to use. As a result, access to a deeply nested value from a piece of JSON data can be expressed simply.

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Any Unix C++ compiler
  • Any standard C++ compiler

Added : 2012-09-20 Amended: 2012-09-20 Licensing : Copyright (other)

    JsonMe++ - JSON parsing C++ wrapper library with operator overloading.
  • Projects freecode page
  • Submitted by:Rob Meijer
Add a comment

JThreads/C++ - Java-like Threads for C++

JThreads/C++ is the short-form of "Java-like Threads for C++". JThreads/C++ is a high-level thread abstraction library that gives C++ programmers the "look & feel" of Java threads.

JThreads/C++ is free for non-commercial use and available with its full source code.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • Solaris
  • HP UX
  • Unix
  • Dec Alpha
  • Dec OSF/1

Compilers

  • Visual C++
  • GCC
  • Dec CC
  • SGI CC
  • Sun CC
  • HP C++

Added : 1998-02-24 Amended: 1998-02-24 Licensing : Copyright (other)

Comment from : Andrew Marlow on 2008-07-29

OOC was acquired by IONA who incorporated JThreads/C++ into Orbacus. Thus JThreads/C++ is no longer available separately (except via old copies in various free software reposistories)

Add a comment


JX - Application framework and widget library for use with X Windows

JX is a full-featured C++ application framework and GUI class library for X Windows. It provides support for all facets of application development, including distributed applications, and aims to combine the best of MacOS and NeXTSTEP. It is built directly on top of Xlib and has been carefully optimized for performance.

Operating Systems

  • Linux
  • Sparc
  • SGI Irix
  • Sun
  • Solaris
  • HP UX
  • Unix
  • X Windows
  • Dec Alpha
  • Dec Ultrix

Compilers

  • GCC
  • Compiler independent

Added : 1997-12-06 Amended: 2008-07-29 Licensing : Copyright (other)

Add a comment

Kalman - A class library for Kalman filtering

Contains lumatrix.c++ etc.

Compilers

  • GCC

Added : 1995-01-01 Amended: 2003-10-20 Licensing : Not known

Add a comment

kplib - Basic but highly optimised C++ library

The library consists of the following classes:
  • KPList<T> A two-way list that assumes nothing about its elements except they correctly implement a default constructor and operator=().
  • KPComparableList<T> A subclass of KPList<T> which also assumes its elements can be compared with operator==(), thus providing more powerful methods.
  • KPSortableList<T> A subclass of KPComparableList<T> which also assumes its elements can be compared with operator<(), thus providing more powerful methods.
  • KPReadOnlyIterator<T> An iterator with pointer-like semantics which can iterate over any of the above lists for reading purposes only.
  • KPIterator<T> An iterator with pointer-like semantics which can iterate over any of the above lists for the purpose of reading, modifying, deleting, or adding elements to or from arbitrary locations in the list.
  • KPArray<T> A dynamically-sizable array that assumes nothing about its elements except they correctly implement a default constructor and operator=().
  • KPComparableArray<T> A subclass of KPArray<T> which also assumes its elements can be compared with operator==(), thus providing more powerful methods.
  • KPSortableArray<T> A subclass of KPComparableArray<T> which also assumes its elements can be compared with operator<(), thus providing more powerful methods.
  • KPQueue<T> A queue that assumes nothing about its elements except they correctly implement a default constructor and operator=().
  • KPPriorityQueue<T> A priority queue that assumes its elements correctly implement a default constructor, operator=(), operator==() and operator<().
  • KPStack<T> A stack that assumes nothing about its elements except they correctly implement a default constructor and operator=().
  • KPSet<T> A set that assumes its elements correctly implement a default constructor, operator=(), operator==() and operator<(). All union, intersection, difference and superset/subset operations are of order O(n).
  • KPBag<T> A bag that assumes its elements correctly implement a default constructor, operator=(), operator==() and operator<().
  • KPString A string class which implements basic string functions and more (such as tokenizing methods which return KPList<KPString>). This class uses reference counting and copy-on-write semantics to insure that it as efficient as possible.

Operating Systems

  • Unix

Compilers

  • GCC
  • MetroWerks CodeWarrior
  • Watcom C++

Added : 2000-04-26 Amended: 2000-12-22 Licensing : Public Domain

Add a comment

Lapack++ - C++ version of some of lapack fortran code

Developmental version of proposed C++ version of lapack. Contains blas.h++ etc, but needs Fortran library to link.

Documents : Overview paper (9 pages postscript), release notes (7 page ps)

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

Add a comment

LEDA - A Library of Efficient Data Types and Algorithms

Provides basic data-types like lists, stacks, queues, trees, sets, partitions, priority queues and a few others. These are parameterizable classes, you may add your own datatype and have a priority queue ... An important datatype is a graph, these are also parameterizable and there are useful algorithms for them like shortest path, transitive closure, matching, maximum flow, spanning tree and others, we have implemented a few algorithms for dealing with perfect graphs, but these ar not part of the standard library. The latest part deals with computational geometry.

It can be used with C++ compilers which understand templates

Compilers

  • GCC
  • Cfront

Added : 1995-01-01 Amended: 1999-06-04 Licensing : Education

Add a comment

lexertl - Dynamic Lexical Analyser Generator

Generate lexical analysers at runtime and start using them right away. Generate code or serialise the generated machine when you are happy with the results.

Recursion is supported allowing support for things like nested comments or simple grammars.

Operating Systems

  • Platform-independent

Compilers

  • Any standard C++ compiler

Added : 2012-08-06 Amended: 2012-08-06 Licensing : Boost

    lexertl - Dynamic Lexical Analyser Generator
  • lexertl
  • Submitted by:Ben Hanson
Add a comment

libcds C++ template library of lock-free algo - libcds C++ template library of lock-free containers and GC

CDS (Concurrent Data Structures) is a C++ template library of lock-free and fine-grained lock-based algorithms. It contains a collection of concurrent containers: queues, maps, and various types of safe memory reclamation algorithms for lock-free programming - Hazard Pointer, Pass-the-Buck and others.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sparc
  • Solaris
  • HP UX
  • PC Windows
  • BSD

Compilers

  • Visual C++
  • GCC

Added : 2012-01-03 Amended: 2012-01-03 Licensing : BSD style

    libcds C++ template library of lock-free algo - libcds C++ template library of lock-free containers and GC
  • Doxugen documentation
  • Download
  • Submitted by:Max Khiszinsky
Add a comment

libCON - C++ Game Programming Library

This is an easy-to-use C++ API for creating games, graphics, and sounds. It is built over DirectX 6.0 and is meant to run in Windows 95/98 using 16-bit display modes. The library supplies a multi-level API to these resources: keyboard, mouse, joystick, and the screen as a 2D drawing surface and a target for 3D rendering. This library comes as a packaged DLL, so you don't need to have the DirectX SDK at all, but rather only the runtime components.

Changes: New features including AVI, mp3, fog, dynamic textures, dynamic 3D lights.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++

Added : 1999-07-21 Amended: 2000-08-09 Licensing : Non commercial

Add a comment

libg++ - (GNU's C++ library)

Libg++ is probably only relevant if you are using g++; and if so, you already know about it. It does have some good implementations of bignum's and of regular expressions and strings.

Compilers

  • GCC

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

Add a comment

LibKISSLog - Light-weight C++ template library for logging.

libKISSlog is a trivial lightweight C++ template library for logging designed and written according to the KISS (Keep It Simple and Straightforward) principle. It leans heavily on STL for keeping its implementation as simple as its usage, and tries to provide C++ developers with a lightweight, paradigm-pure, and flexible alternative to logging libraries which use design and/or implementation decisions which at least the author of libKISSlog believes to be questionable. Its easiest to explain why libKISSlog would be suitable for your needs by listing the things which libKISSlog does not choose to use or do: no singletons or other forms of mutable global state, no macros, no attempt to fit the Java runtime everything model onto a C++ library, no attempt to be a Java-style (bloated) framework, no attempt to make the choice for you of whether you need thread safety, and no compromise on simplicity in order to facilitate questionable inner-loop logging practices.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any Unix C++ compiler
  • Any standard C++ compiler

Added : 2012-09-20 Amended: 2012-09-20 Licensing : Boost

    LibKISSLog - Light-weight C++ template library for logging.
  • project homepage
  • Submitted by:Rob Meijer
Add a comment

libLCS - Library for Logic Circuit Simulation

libLCS is a hardware description library in C++ aiming to be as powerfull and easy as the Verilog HDL. It currently supports logic gates, flipflops, clock, and facilitates delays, continuous assignments and variable value dumping into VCD files.

libLCS is a library for Logic Circuit Simulation developed in 100% c++. The ultimate aim of LCS is to become a thorough hardware description library, matching the functionality of the Verilog hardware description language, while keeping the usage (and syntax) as intuitive as possible. Currently, it supports simulation of digital systems containing logic gates, flipflops, clock, user defined modules, and facilitates propogation delays, continuous assignments and dumping value changes into VCD files.

Operating Systems

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

Compilers

  • GCC

Added : 2007-06-27 Amended: 2007-06-27 Licensing : GNU copyleft

Add a comment

Libnet - Generic networking API

Libnet is a generic networking API that provides access to several protocols. It is not designed as a 'all in one' solution to networking.

Currently many features that are common in some network protocols are not available with Libnet, such as streaming via TCP/IP.

Operating Systems

  • PC DOS
  • Linux
  • PC 32-bit Windows
  • Unix
  • OSF
  • FreeBSD

Compilers

  • DJGPP
  • Visual C++
  • GCC
  • RSXNT

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

Add a comment

libpropc++ - Add properties to C++ (widget.color = "red";)

  • variable like syntax for accessing properties;
  • only two lines to create a property (having get/set functions);
  • aimed to implement binding properties (http://ex-code.com/articles/binding-properties.html);
  • documented.

Template library for properties in C++ (like this: widget.color = "red"; to change widget color).

class Widget { 
  ... 
  Color get_color(); 
  void  set_color(Color value); 
  prop::Property<Widget, Color, 
                 &Widget::set_color, &Widget::get_color> 
      color; 
  ... 
};

Optionally uses libsigc++ to notify about property value changes.

It will support binding several properties together to change accordingly each other.

Article: Binding Properties of Objects

Operating Systems

  • Platform-independent

Compilers

  • Any standard C++ compiler

Added : 2004-08-31 Amended: 2004-08-31 Licensing : GNU copyleft

Add a comment

libsigc++ - Callback Framework for C++ (signal/slot)

Libsigc++ implements a full callback system for use in widget libraries, abstract interfaces, and general programming. Originally part of the Gtk-- widget set, libsigc++ is now a seperate library to provide for more general use. It is the most complete library of its kind with the ablity to connect an abstract callback to a class method, function, or function object. It contains adaptor classes for connection of dissimilar callbacks and has an ease of use unmatched by other C++ callback libraries. Ligsigc++ is licensed under the LGPL.

Operating Systems

  • PC 32-bit Windows
  • Unix

Compilers

  • Visual C++
  • GCC

Added : 1999-06-15 Amended: 1999-06-15 Licensing : GNU copyleft

Add a comment

Lily (LIsp LibrarY) - Gives C++ programmers the capability to write LISP-style code

I think Lily will be useful in academia for instructors who want to teach artificial intelligence techniques with C++. The garbage collection mechanism employed by Lily is slow which will make it unattractive for commercial use.

Documentation is minimal. The "Lily User's Guide" (in file lily.txt) provides a good overview of the architecture of Lily -- the document is unfinished. All of the example programs are from Winston's book "LISP Second Edition" so you will be much better off if you have a copy. Steele's "Common LISP" describes the behavior of the LISP functions.

Operating Systems

  • Unix
  • PC Windows

Compilers

  • GCC
  • Borland C++

Added : 1995-01-01 Amended: 1995-01-01 Licensing : GNU copyleft

Add a comment

LinAlg - C++ Linear Algebra and Optimization classlib

  • defines Matrix,Vector, subMatrices, and LAStreams over real domain;
  • contains efficient and fool-proof implementations of level 1 and 2 BLAS (element-wise operations and various multiplications), transposition, determinant evaluation and matrix inverse.
  • There are operations on a single row/col/diagonal of a matrix.
  • Distinct features of the package are Matrix views, various Matrix streams, and LazyMatrices. Lazy construction allows one to write matrix expressions in a natural way while imposing no hidden temporaries, no deep copying, and no reference counting.
  • LinAlg stresses Matrix streams, which provide a sequential view/access to a matrix or its parts. LABlockStreams may span over an arbitrary rectangular block of a matrix, including the whole matrix, a single matrix element, and all other block sizes in between. Matrix streams are seek-able and subrange-able. A stream or a substream are always created in-line; they do not allocate any heap storage, and are safe.
  • The package implements Singular Value Decomposition (SVD), and its application to solving Ax=b, where matrix A does not have to be square, and b does not have to be a thin vector.
  • The package also implements Brent's univariate optimization and root finding, Hooke-Jeeves multidimensional optimization of functors, and Aitken-Lagrange interpolation.
  • Every feature is extensively tested in the validation code (included).
Current Version: 4.3, December 25, 1998

Operating Systems

  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • Dec Alpha
  • Mac
  • BeOS

Compilers

  • Visual C++
  • GCC
  • SGI CC
  • Sun CC
  • MetroWerks CodeWarrior
  • egcs

Added : 1996-05-22 Amended: 1999-06-04 Licensing : Public Domain

Add a comment

Lodestar Database - Client/Server - High performance, non-relational database engine

Lodestar Database is a super fast, non-relational database engine which comes in either single user or network enabled, multi-user client/server versions. The network version comes with either a Novell server or an NT server with clients for Windows 95/98/2000 and Windows NT. Both versions have libraries for Borland C++, Delphi, C++ Builder and Visual Basic.

Lodestar Database has been in use for 10 years in the financial industry and has contributed to huge run time improvements in Credit Union software used throughout the US, but is just now being released to the public as shareware. Credit Unions with as many as 10 branches and thousands of users are currently using our database engine with sub-second response times. Statement runs are 35 minutes for a 35,000 member credit union with over 100,000 accounts and can be run while the credit union is open with virtually no degradation in online response time.

Operating Systems

  • PC Windows
  • Novell

Compilers

  • Borland C++

Added : 2000-04-26 Amended: 2000-04-26 Licensing : Shareware

    Lodestar Database - Client/Server - High performance, non-relational database engine
  • Lodestar Database Home
  • Submitted by:dbaker@lodestardatabase.com
Add a comment

Loki - Loki is a C++ library of designs.

Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    Loki - Loki is a C++ library of designs.
  • Loki Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

Libraries available to download (M-P)

macstl - Modern generic programming for SIMD and the Mac

The C++ header library designed to bring the Macintosh into the world of modern generic programming.

Generic programming is the art -- some say, the black art -- of making software components super-reusable and yet ultra-efficient. Our tool is the C++ template, and our result is code nearly as fast as hand-coded machine language.

macstl was inspired by the premier generic library, the Standard Template Library (now part of the C++ Standard Library), but with a distinct Macintosh flavor. Many components let you use low-level Mac OS X functionality like SIMD acceleration and memory copy-on-write easily and intuitively.

Although macstl started on the Mac, it now has a cross-platform look. Over 14,000 source lines of code compile cleanly on different C++ compilers. The SIMD classes work seamlessly on PowerPC’s running Mac OS X and Pentium’s running Windows XP.

macstl provides these sets of classes:

  • valarray -- numeric arrays highly optimized for SIMD architectures like Altivec and MMX/SSE/SSE2/SSE3.
  • vec -- a portable, extensible SIMD toolkit with intuitive, fast functions; the trig functions and integer division can’t be beat so far...
  • mach -- allocator and partially specialized vector for fast OS-level copy-on-write.
  • core -- adapting Core Foundation and Foundation classes for STL.
  • com -- interface pointer and a fast, lightweight server implementation for Microsoft COM and Apple CFPlugIns.
  • mmapping -- treating files as STL containers.

The library is open-source and free when derived code is reciprocated; for others, licensing is $99 (Personal) or $499 (Corporate).

Operating Systems

  • PC 32-bit Windows
  • Mac

Compilers

  • GCC
  • MetroWerks CodeWarrior
  • Visual C++ .NET

Added : 2003-07-23 Amended: 2005-02-08 Licensing : Copyright (other)

Add a comment

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

Add a comment

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
  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • OS/2
  • Dec Alpha
  • PC Windows
  • Dec OSF/1

Compilers

  • DJGPP
  • Visual C++
  • GCC
  • Dec CC
  • SGI CC
  • Sun CC
  • IBM xlC
  • Borland C++
  • Watcom C++
  • HP C++
  • EMX

Added : 1996-02-05 Amended: 1996-08-08 Licensing : Commercial

Add a comment

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

Add a comment

matrix - C++ High Speed Matrix class

Matrix is an efficent C++ class library for doing matrix computation on windows NT. The main goal of this package is : - easy to use. - as fast as fortran code. This speed is achieved using the Math Kernel Library of INTEL.

Actually features : - works with double dense matrices, - can make an +, -, *, / operator efficiently, - is as powerful as FORTRAN code, - have comparison operators, - can do LU, Cholesky, Householder QR, and SVD decompositions, - have build-in matlab functions, - have a standard interface to BLAS so that everyone who wanted to use under another platform could manage it easely.

Only denses matrices of double are supported but it is planned to be extented to other matrices and variables.

Operating Systems

  • PC DOS
  • PC 32-bit Windows
  • PC Windows

Compilers

  • Visual C++
  • Watcom C++

Added : 1999-06-21 Amended: 1999-06-21 Licensing : Public Domain

Add a comment

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

  • 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

Matrix11 - C++ matrix template class library (source)

This matrix template class can be used to perform common matrix operations in your C++ program like any other built-in data types. Though I have written this class in compliance with ANSI/ISO C++ standard, you may encounter some compilation problem, particularly with older version of compilers, because all standard features of namespace, exception and template may not be fully supported in your compiler. In that case you may just want to disable any or all the above features by defining the appropriate macros. I have included full source code as inline functions in the header file so you can modify it if necessary.

The implementation is not optimized for performance and memory usage. So it is not suitable for large and sparse matrices. But for small and medium size matrices these should not be a problem, keeping in mind the present generation of powerful computers.

Special requirements: An up-to-date C++ compiler.

Changes: Some conditional compilation code has been added for different compilers.

Added : 1998-07-22 Amended: 1999-06-04 Licensing : GNU copyleft

Add a comment

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
  • PC
  • IBM AIX
  • Dec MIPS Ultrix
  • Solaris
  • HP UX
  • Mac

Compilers

  • GCC
  • Cfront
  • DCC
  • MetroWerks CodeWarrior
  • Symantec THINK C++
  • Borland C++

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

Add a comment

MetaKit - C++ classes for persistent structured data

General purpose C++ classes for highly-structured persistent containers. This library can be used as compact/fast database for many apps/utilities. Some key features are: uncorruptable data files, an efficient file format, "on-the-fly" restructuring, and portability - all using a very simple API. The windows release includes DLLs, with many C++ examples. Static libs and full source code to build royalty-free self contained apps is available.

Recent changes include

  • production-grade interfaces to Tcl and Python
  • SQL parser interface, currently in alpha

Visit the website for FAQs, API docs, and to download any of over a dozen ports (as tar/gzip, zip, stuffit, and Linux RPM).

Operating Systems

  • PC DOS
  • Linux
  • PC 32-bit Windows
  • Sparc
  • SGI Irix
  • Sun
  • IBM AIX
  • Solaris
  • Unix
  • Dec Alpha
  • PC Windows
  • Mac
  • BeOS

Compilers

  • Visual C++
  • GCC
  • Dec CC
  • SGI CC
  • Sun CC
  • IBM xlC
  • MetroWerks CodeWarrior
  • Borland C++
  • Watcom C++
  • Symantec C++

Added : 1998-07-27 Amended: 2000-07-28 Licensing : Open Source

Add a comment

MGUI - GUI lib & designer for DOS/Win/Unix (Win32)

MGUI is cross-platform C/C++ GUI library for DOS, Windows 3.1, Win32 and Unix X-Window environments. It offers all typical GUI objects like menu, push button, editable text fields with Cut & Paste capabilities. A manager object automatically positions and resizes its children, making layout construction simple. Supports 16, 256, 32K and 64K colors under DOS, up to 16 million in Windows and X-Window environments. A designing tool (MGUI Designer) is provided for helping programmers in the construction and maintenance of the application windows layout.

Operating Systems

  • PC DOS
  • Unix
  • PC Windows

Compilers

  • Visual C++
  • Borland C++
  • Watcom C++
  • RSXNT

Added : 1998-12-03 Amended: 2008-11-04 Licensing : Non commercial

Add a comment

mimetic - a full featured MIME library written in C++

Features

  • Very easy to use

    This was, from the beginning, one of the objectives of mimetic.
    If you know the MIME standard you'll rarely need online documentation.

  • Full featured

    Everything you expect to find in a MIME library is already into mimetic, if you'll not find it is because your requirements are probably insane :) Oh well cryptography is not in the library yet, but it will some day.

  • Standard compliant

    mimetic tries to follow current standards as closely as possible.

  • STL based

    This could be a very big advantage if you know the STL and want to integrate mimetic into your STL based project. You'll have same powerful concepts and classes fully applicable to emails. If you don't know the STL so this is a good opportunity to learn it! A very good reference (yet freely readable) is the Dinkum C++ Library Reference.

  • Compile-time codec chains

    Codec chains are template based so that codecs are chained together by the compiler using inline functions whenever possible to speed up runtime performance.
    Creating a codec chain will sound very familiar if you know Unix pipes:

    codec0 | codec1 | codec2 | ... | last_codec

  • Portable

    The developer personally tested it on Linux, {Open,Free,Net}BSD, Solaris, Mac OS X. It uses Autotools to compile so porting on any Unix system should be easy.

    Windows port has been done by Andreas Gruen but it's no loger maintained. You can get last release of Visual Studio project files into mimetic/win32 directory.

    If those are not enough please consider using Unix-style compiling on Windows using Cygwin or MinGW.

  • More then 50 test functions, more then 2500 checks

    cutee has been used for Unit Testing and there are a lot of tests the run automatically every time someone compiles mimetic. This doesn't mean that it's bug free but it helps.

  • Open source

    Source code of the library, tests and examples are bundled into the distribution package. All except codec code (that is heavily template based) is very readable so if Documentation is not good enough for you sources can be your primary reference.

  • HTML documentation

    Library documentation is generated from source code by Doxygen. You can browse it online of generate yourself for offline browsing.

Operating Systems

  • could run on any OS, but not tested

Compilers

  • Any standard C++ compiler

Added : 2011-09-26 Amended: 2011-09-26 Licensing : MIT

Add a comment

Mini-XML - Lightweight XML Library

Mini-XML is a small XML library that you can use to read and write XML and XML-like data files in your application without requiring large non-standard libraries. Mini-XML only requires an ANSI C compatible compiler (GCC works, as do most vendors' ANSI C compilers) and a 'make' program.

Mini-XML supports reading of UTF-8 and UTF-16 and writing of UTF-8 encoded XML files and strings. Data is stored in a linked-list tree structure, preserving the XML data hierarchy, and arbitrary element names, attributes, and attribute values are supported with no preset limits, just available memory.

Operating Systems

  • could run on any OS, but not tested

Compilers

  • Visual C++
  • GCC

Added : 2011-05-31 Amended: 2011-05-31 Licensing : GNU copyleft

    Mini-XML - Lightweight XML Library
  • Website
  • Submitted by:Domenic Laritz
Add a comment

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

Add a comment

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

Add a comment

MozillaV3 CGI C++ Library - CGI script 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.

Compilers

  • Visual C++
  • GCC

Added : 1998-02-24 Amended: 1998-02-24 Licensing : Public Domain

Add a comment

MozillaV4 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. [Later: Andy.Law@bbsrc.ac.uk sent me the URL below.]

Compilers

  • Visual C++
  • GCC

Added : 1997-12-04 Amended: 1998-07-24 Licensing : Public Domain

Add a comment

mpatrol - A library for controlling, tracing and profiling dynamic memory allocations.

A link library that attempts to diagnose run-time errors that are caused by the wrong use of dynamically allocated memory. Along with providing a comprehensive and configurable log of all dynamic memory operations that occurred during the lifetime of a program, the mpatrol library performs extensive checking to detect any misuse of dynamically allocated memory. All of this functionality can be integrated into existing code through the inclusion of a single header file at compile-time. All logging and tracing output from the mpatrol library is sent to a separate log file in order to keep its diagnostics separate from any that the program being tested might generate. A wide variety of library settings can also be chan!ged at run-time via an environment variable, thus removing the need to recompile or relink in order to change the library's behaviour.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sparc
  • SGI Irix
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • Sequent
  • SYSV
  • Unisys Unixware
  • Novell
  • DG/UX
  • LynxOS
  • SINIX
  • AmigaOS

Compilers

  • Visual C++
  • GCC
  • SGI CC
  • Sun CC
  • SAS/C

Added : 2000-07-28 Amended: 2008-06-26 Licensing : Copyrighted freeware

    mpatrol - A library for controlling, tracing and profiling dynamic memory allocations.
  • The mpatrol home page
  • Submitted by:graeme@epc.co.uk
Add a comment

MTL110JE.ZIP - Multithreading 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

MTL: The Matrix Template Library - A library of generic components for basic linear algebra

The Matrix Template Library is a C++ class library for basic linear algebra. The MTL is designed for high-performance while at the same time taking advantage of the generic programming paradigm (ala the STL) to allow much greater flexibility and breadth of functionality. Many new and advanced programming techniques were used in the construction of this library.

The MTL is a low level library in the sense that the user must be conscious of the matrix type being used, and that all computationally expensive operations are explicit. The MTL is not a C++ Matlab. Nevertheless, the interface is designed to be simple and easy to use.

The matrix types provided include compressed sparse row/column, banded, packed, diagonal (and tridiagonal), envelope, array of pointers, and of course dense matrices. All matrix types share a common and easy to use interface.

The algorithms consist of the traditional basic linear algebra routines (from the BLAS level-1 to 3) which includes matrix and vector arithmetic as well as operations such as backward substitution and norm calculations.

Operating Systems

  • Linux
  • Sparc
  • SGI Irix
  • Sun
  • Solaris
  • Unix
  • Mac

Compilers

  • GCC
  • SGI CC
  • MetroWerks CodeWarrior
  • KAI C++

Added : 1999-07-15 Amended: 2008-07-29 Licensing : Public Domain

    MTL: The Matrix Template Library - A library of generic components for basic linear algebra
  • Mail a question to MTL authors
  • MTL Home Page
  • Author:Jeremy Siek and Andrew Lumsdaine and Lie-Quan Lee
  • Submitted by:jsiek@lsc.nd.edu
Add a comment

muParser - a fast math parser library

Many applications require the parsing of mathematical expressions. The main objective of this library is to provide a fast and easy way of doing this. muParser is an extensible high performance math expression parser library written in C++. It works by transforming a mathematical expression into bytecode and precalculating constant parts of the expression.

Operating Systems

  • Linux
  • PC Windows
  • BSD
  • could run on any OS, but not tested

Compilers

  • Visual C++
  • GCC

Added : 2010-11-23 Amended: 2010-11-23 Licensing : MIT

Add a comment

MythOS - Open source C++ game development library

MythOS is an Open Source (previously commercial) C++ game development library set for making games for the Windows 9x/NT platform using the DirectX APIs including graphics rendering, memory manager, file processing, input events, animation playback, sound, timers, and supporting tools. This version is the 'slim' distribution (15 MBytes) which does not include prebuilt libraries and executables (except one that is difficult to build). The 'full' distribution is 25 MBytes as a Self-Extracting Windows setup.

Operating Systems

  • PC Windows

Added : 1999-07-13 Amended: 1999-07-13 Licensing : Freeware

Add a comment

NCBI C++ Toolkit - The NCBI ToolBox C++ Programming Libraries

NCBI C++ Toolkit provides free, portable, public domain libraries with no restrictions use - on Unix, MS Windows, and Mac OS platforms.

Operating Systems

  • Solaris
  • Unix
  • PC Windows
  • Mac
  • FreeBSD
  • FreeBSD, Darwin

Compilers

  • Visual C++
  • GCC
  • CygWin

Added : 2014-03-28 Amended: 2014-03-28 Licensing : Public Domain

Add a comment

Newmat - A 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, Kronecker 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

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

Added : 1995-01-01 Amended: 2008-07-29 Licensing : Copyrighted freeware

Add a comment

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

Add a comment

nlmdl - A library for estimation of nonlinear models

Nonlinear maximisation, estimation, includes a real matrix class

Operating Systems

  • PC DOS
  • Unix

Compilers

  • Borland C++

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

Add a comment

Numerics C++ Library - C++ lib w/src of numerical and math routines

Numerics C++ Library is a collection of routines to do numerical and statistical computations. Included in this library are routines to solve linear systems of equations, generate random numbers, compute values for random variables, as well as various other routines that are commonly needed in science and engineering fields as well as other disciplines.

Added : 1999-06-21 Amended: 1999-06-21 Licensing : Freeware

Add a comment

O-Matrix - RAD environment for scientific and engineering applications

Harmonic Software Inc. has released O-Matrix 4, A Complete Analysis and Development Environment for Math, Science, Engineering and Technical Computing. This new version of O-Matrix includes many new features including a Mathlink program for communicating with Mathematica, new analysis functions for statistics, optimization and general mathematics. Performance has been improved even further and data visualization capabilities have been enhanced. For complete details on what has been added, how O-Matrix can improve your productivity, and a free trial version, see our home page

Operating Systems

  • PC Windows

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

    O-Matrix - RAD environment for scientific and engineering applications
  • Email:harmonic@omatrix.com
  • WWW http://www.omatrix.com
  • Tel:1-800-895-4546
  • Tel:1-206-367-8742
  • Postal address:Harmonic Software Inc., PO Box 31537, Seattle, WA 98103
  • Fax:1-206-706-7493
  • Author:Harmonic Software
Add a comment

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

Comment from : xxx on 2008-12-28

The ftp link is broken. I am not able to download the library

Add a comment


Object file converter - Converting object files between COFF/PE, OMF, ELF and Mach-O formats

This is a library of optimized subroutines coded in assembly language. The functions in this library can be called from C++ and other compiled high-level languages. Supports many different compilers under Windows, Linux, BSD and Mac OS X operating systems, 32 and 64 bits. The library contains faster versions of common C/C++ functions such as memcpy, memmove, memset, strcpy, strcat, strlen, as well as round functions, CPU identification functions, etc.

Operating Systems

  • Linux
  • PC Windows
  • Mac
  • BSD

Compilers

  • could be compiled, but not tested

Added : 2010-11-16 Amended: 2010-11-16 Licensing : GNU copyleft

    Object file converter - Converting object files between COFF/PE, OMF, ELF and Mach-O formats
  • Manual
  • Home page
  • Submitted by:Domenic Laritz
Add a comment

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

Add a comment

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

  • Linux
  • Sparc
  • IBM AIX
  • Unix
  • Dec Ultrix

Compilers

  • GCC

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

Add a comment

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

Add a comment

OffiX - Framework for interactive applications in the Unix / X environment

The OffiX API is a Framework for interactive applications in the Unix / X environment.

Features:

  • generic Layout Management
  • supports multiple 'look and feels' (Motif, OpenLook, ...)
  • generic Plugin support
  • generic Communication support
Alpha release Stefan Seefeld

Operating Systems

  • Linux

Compilers

  • GCC

Added : 1998-07-24 Amended: 1998-12-03 Licensing : GNU copyleft

    OffiX - Framework for interactive applications in the Unix / X environment
  • Email:seefelds@plgcn.umontreal.ca
  • WWW http://leb.net/OffiX
  • Tel:1-514 343 61 11 ext. 3953
  • Postal address:Departement de Physique, Universite de Montreal, C.P. 6128 - Succ.A, Montreal, QC, Canada H3C 3J7
  • Fax:1-514 343 7586
  • Author:Stefan Seefeld
Add a comment

ooMPEG - Berkeley MPEG decoder

A reentrant, multi-threaded version of the Berkeley MPEG decoder

Operating Systems

  • Sparc
  • SGI Irix
  • Sun
  • Solaris
  • HP UX

Added : 1996-02-05 Amended: 1996-02-05 Licensing : Non commercial

Add a comment

OpenCV - a library of programming functions for real time computer vision

OpenCV is released under a BSD license, it is free for both academic and commercial use. It has C++, C, Python and soon Java interfaces running on Windows, Linux, Android and Mac. The library has >2500 optimized algorithms. It is used around the world, has >2.5M downloads and >40K people in the user group. Uses range from interactive art, to mine inspection, stitching maps on the web on through advanced robotics.

Operating Systems

  • Linux
  • PC Windows
  • Mac

Compilers

  • Visual C++
  • GCC

Added : 2012-03-15 Amended: 2012-03-15 Licensing : BSD style

    OpenCV - a library of programming functions for real time computer vision
  • Home page
  • Submitted by:LR
Add a comment

OpenEXR - a high dynamic-range (HDR) image file format for use in computer imaging

OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications. OpenEXR is used by ILM on all motion pictures currently in production. The first movies to employ OpenEXR were Harry Potter and the Sorcerers Stone, Men in Black II, Gangs of New York, and Signs. Since then, OpenEXR has become ILM's main image file format. OpenEXR's features include:
  • Higher dynamic range and color precision than existing 8- and 10-bit image file formats.
  • Support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer pixels. The 16-bit floating-point format, called "half", is compatible with the half data type in NVIDIA's Cg graphics language and is supported natively on their new GeForce FX and Quadro FX 3D graphics solutions.
  • Multiple lossless image compression algorithms. Some of the included codecs can achieve 2:1 lossless compression ratios on images with film grain.
  • Extensibility. New compression codecs and image types can easily be added by extending the C++ classes included in the OpenEXR software distribution. New image attributes (strings, vectors, integers, etc.) can be added to OpenEXR image headers without affecting backward compatibility with existing OpenEXR applications.
ILM has released OpenEXR as free software. The OpenEXR software distribution includes:
  • IlmImf, a library that reads and writes OpenEXR images.
  • Half, a C++ class for manipulating half values as if they were a built-in C++ data type.
  • Imath, a math library with support for matrices, 2d- and 3d-transformations, solvers for linear/quadratic/cubic equations, and more.
  • exrdisplay, a sample application for viewing OpenEXR images on a display at various exposure settings.

Operating Systems

  • Platform-independent

Compilers

  • Any standard C++ compiler

Added : 2012-03-15 Amended: 2012-03-15 Licensing : BSD style

Add a comment

OpenRTL - General purpose programming library

The OpenRTL library is an extensive augmentation to the standard C library and an alternative to large portions of the C runtime and the STL. OpenRTL text processing is UTF based for all UTF flavours. OpenRTL is itself an open standard, and this project is the official implementation. At the C and C++ compiler level, OpenRTL merges itself over the top of the standard C libraries of compilers such as GCC, BCC and MSC, on windows, linux and mac.

OpenRTL solves the portability of code problem by using a native code approach instead of a wrapper based approach. Wrapper solutions that wrap to many underlying OS calls tend not to work exactly the same on different platforms. For functionality that cannot be wrapped, only then are OS calls used, such as for threads and mutexes for example.

Features of OpenRTL

  • UTF based using UTF-8, UTF-32 and UTF-16.
  • Advanced memory management functions
  • Full unicode support
  • Full locale implementation
  • String manipulation functions in all UTF flavours.
  • Localized and non localized string and date functions.
  • Legacy windows compatible character set conversion.
  • Works on win, mac, ios, linux.
  • Unrestricted code license policy.
  • Full test suite.

Operating Systems

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

Compilers

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

Added : 2012-04-12 Amended: 2013-10-15 Licensing : MIT

Comment from : 0k on 2013-07-14

Links are broken

Add a comment


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

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

Compilers

  • GCC
  • Cfront
  • Borland C++

Added : 1997-03-19 Amended: 2008-07-29 Licensing : Copyrighted freeware

Comment from : js on 2015-04-03

Page not found (Apr/2015)

Add a comment


OptiVec - Vectorized functions library for Borland C/C++

OptiVec contains more than 3000 hand-optimized, Assembler-written functions for all floating-point and integer data types, running, on the average, 2-3 times faster than compiled C/C++ code of the same functionality.

The following fields are covered:

  1. Vectorized form of all arithmetic operators and math functions of C/C++
  2. Statistics
  3. Analysis (derivatives, integrals, extrema, interpolation)
  4. Fast Fourier Transform techniques for efficient convolutions, correlation analyses, spectral filtering, etc.
  5. Curve fitting for a wide range of model functions from simple linear regression to non-linear models with multiple data sets
  6. Graphical representation of data in Cartesian coordinates
  7. Matrix operations, e.g.: multiplication, inversion, LU decomposition, singular value decomposition, two-dimensional FFT, eigenvalues
  8. Complex number math
The vectorized implementation in Assembler ensures not only superior speed; in many instances, the numerical accuracy is improved as well.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++
  • Borland C++

Added : 1998-07-27 Amended: 2008-11-04 Licensing : Shareware

Add a comment

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

  • Visual C++
  • GCC
  • Dec CC
  • SGI CC
  • Sun CC
  • IBM xlC
  • SGI NCC
  • Cfront
  • Borland C++
  • HP C++
  • Sparcworks
  • Object Center
  • KAI C++
  • CenterLine
  • Lucid
  • Novell

Added : 1996-05-22 Amended: 2008-06-26 Licensing : Copyright (other)

Add a comment

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

  • Visual C++
  • GCC

Added : 1997-03-19 Amended: 2008-07-29 Licensing : Copyrighted freeware

Add a comment

Pantheios - The C++ Logging Sweetspot

Pantheios offers all the following features in one simple, portable, easy-to-use library:
  • Atomicity - all parts of a statement are emitted (or not) to the back-end transports in a single action.
  • Efficiency - the length of each element in a statement is determined at most once; the contents of each element in a statement is copied at most once; memory is allocated for the prepared statement at most once (and even then only if the total statement length exceeds 2047 characters).
  • Extensibility - the back-end transport can be customised by the user to any conceivable transport, should the stock back-ends prove insufficient for a particular need. The distribution includes transports over the following:
    • SysLog
    • - both UNIX and Windows
    • COM Error Object
    • Adaptive Communications Environment (ACE) Logger
    • Windows Debugger
    • Windows Event Log
    • stdout/stderr
  • Filtered - statements are filtered based on a 32-bit severity level, incorporating, but not limited to, the standard eight levels described by SysLog
  • Genericity - log statement elements may be of arbitrary type. Support for a large number of known types is implicit because Pantheios uses the STLSoft libraries. Extension to new/custom types is achievable by several different techniques, which one selects as appropriate.
  • 100% type-safety - Use of Pantheios from C++ is 100% type-safe (unlike the unsafe printf()-family, or the IOStreams).
But above all else Pantheios adheres to the important principle of C programming that:
  • You don't pay for what you don't use. If a statement at a given severity level is not to be emitted, no conversions, no concatenations, no memory allocation nor any other expensive operations are carried out.
The library is portable, and has been used on UNIX (Linux) and Win32 operating systems. There should be no impediment to it working on any platform, or flavour thereof

The library is compatible with a large range of C++ compilers. It even compiles with Visual C++ v5.0!

Compilers

  • Any standard C++ compiler

Added : 2006-09-04 Amended: 2006-09-11 Licensing : Open Source

Add a comment

ParLib++ - Parallel Programming Classes for C++:

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

Add a comment

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.

Perry Rapp says "The zipped sources in the ftp version include a license statement permitting source redistribution in the exact format of the zip file (ie, unmodified and as original zip file). This is a more liberal policy than the license of the software with the book, which allows no source redistribution at all."

Operating Systems

  • PC DOS
  • Unix

Compilers

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

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

Comment from : Amit on 2013-01-15

i am Working on Parody and i need Library file of this.. but Download Link of this Article is broken.. Please provide valid link..

Add a comment


PATL - Practical Algorithm Template Library - C++ library on PATRICIA trie

Major features: STL-compatible, high-performance template containers and auxiliary classes useful for stringology with fine-grained low level design.

Library features:

  • set & map containers with trie (digital/radix search tree) functionality - patl::trie_set & patl::trie_map;
  • set & map containers with online suffix tree functionality - patl::suffix_set & patl::suffix_map - with linear time & space: 16 bytes per symbol, alphabet-independent;
  • bunch of iterators over each type of containers - standard ([const_][reverse_]iterator), special ((post|pre|level)order_iterator), partial match iterators ([const_]partimator) and suffix_cont-special (match_iterator & [super_]maxrep_iterator);
  • partimator's can be specialized with one of the decision functors: partial_match (filter strings with joker pattern), hamming distance (filter strings with Hamming automata), levenshtein_[tp_|ms_]distance (filter strings with Levenshtein automata with optional operations like transposition or merge-split);
  • lowest common ancestor (LCA) requests with constant time after linear time & space postprocessing of the suffix_cont - patl::lca_oracle.
All features of this library can be examined with small demo programs delivered within.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC
  • CygWin
  • Intel C++
  • Microsoft .NET
  • Visual C++ .NET

Added : 2008-08-25 Amended: 2008-08-25

    PATL - Practical Algorithm Template Library - C++ library on PATRICIA trie
  • SVN repository
  • Submitted by:Roman Klyujkov
Add a comment

pC++ - A preprocessor for C++ that implements a data parallel extension

Operating Systems

  • Unix
  • CM5
  • Paragon
  • KSR-1
  • Sequent
  • BBNTC2000

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

Add a comment

PCL - Personal Communications Library for C/C++

Personal Serial Communications Library C/C++, v6.1. Real & protected mode DOS. Supports thru COM20 to 115200, 4+ ports concurrently, many dumb multiport boards, 16550, 16650, 16750 UARTs, interrupt driven, RTS/CTS flow control, any UART address and IRQ, all memory models. Supports Watcom C/C++, Borland/Turbo C/C++, MIX Power C, & Microsoft C/C++.

Operating Systems

  • PC DOS

Added : 1998-02-24 Amended: 2008-11-04 Licensing : Shareware

Add a comment

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

  • Sparc
  • SGI Irix
  • Convex
  • Dec Alpha

Compilers

  • Dec CC
  • Cfront

Added : 1995-01-01 Amended: 1995-01-01 Licensing : Copyright (other)

Add a comment

PEGTL - Parsing Expression Grammar Template Library

The Parsing Expression Grammar Template Library (PEGTL) is a C++11 header-only library for creating parsers according to a Parsing Expression Grammar (PEG). Grammars are written as regular C++ code, created with template programming, i.e. nested template instantiations that naturally correspond to the inductive definition of PEGs or other parser combinator approaches. A comprehensive set of parser rules that can be combined and extended by the user is included, as are mechanisms for debugging grammars and attaching user-defined actions to grammar rules.

Operating Systems

  • Linux
  • PC Windows
  • Mac
  • Any after making small changes...
  • could run on any OS, but not tested
  • Platform-independent
  • POSIX

Compilers

  • Visual C++
  • GCC
  • Compiler independent

Added : 2015-10-26 Amended: 2015-10-26 Licensing : MIT

    PEGTL - Parsing Expression Grammar Template Library
  • PEGTL on GitHub
  • Submitted by:Colin Hirsch
Add a comment

physfs - Library for filesystem operations (with archives)

PhysicsFS is a library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. The programmer defines a "write directory" on the physical filesystem. No file writing done through the PhysicsFS API can leave that write directory, for security. For example, an embedded scripting language cannot write outside of this path if it uses PhysFS for all of its I/O, which means that untrusted scripts can run more safely. Symbolic links can be disabled as well, for added safety. For file reading, the programmer lists directories and archives that form a "search path". Once the search path is defined, it becomes a single, transparent hierarchical filesystem. This makes for easy access to ZIP files in the same way as you access a file directly on the disk, and it makes it easy to ship a new archive that will override a previous archive on a per-file basis. Finally, PhysicsFS gives you platform-abstracted means to determine if CD-ROMs are available, the user's home directory, where in the real filesystem your program is running, etc.

Operating Systems

  • Linux
  • Unix
  • Platform-independent
  • POSIX

Compilers

  • GCC

Added : 2012-05-28 Amended: 2012-05-28 Licensing : Open Source

    physfs - Library for filesystem operations (with archives)
  • main site
  • Submitted by:Alex Herrmann
Add a comment

Platinum C++ Framework - Platinum is a portable comprehensive framework that allows writing high-performa

Platinum is a comprehensive C++ framework, that allows developers to write high-performance applications for many platforms with only one codebase. It provides a large amount of features and is still remarkably easy to use. It intergrates well into existing toolkits and frameworks. A consistent API for advanced object modeling, multithreading, synchronous and asynchronous I/O, file-system access, system programming, plugins, networking, database access, graphics, XML processing and graphical user interfaces is provided on all supported platforms. Pt can be used on embedded devices, desktops or large servers. The supported platforms include Windows, Windows CE, Linux, QNX, and Unix. It lets you spend your time on your application without tedious low-level programming. A high degree of performance is achieved through the use of modern C++ features. Programs will benefit from the many optimizations included in the framework. Pt is designed from the ground up to be flexible and extensible. It provides simple solutions to your problems without being intrusive. It integrates well with existing code bases or other toolkits and frameworks. Programs written with Pt tend to be significantly shorter and much easier to understand. Its not just open, its free! Published under the LGPL it allows you to write commercial and open-source applications and be part of the great community that develops Pt and determines its future.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    Platinum C++ Framework - Platinum is a portable comprehensive framework that allows writing high-performa
  • Platinum C++ Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

png++ - a C++ wrapper for libpng

PNG++ aims to provide simple yet powerful C++ interface to libpng, the PNG reference implementation library. PNG++ is free software distributed under a modified variant of BSD license. Using raw libpng in C++ may impose serious challenge since lots of precautions must be taken to handle initialization/deinitialization of control structures as well as handling errors correctly. With png++ you can read or write PNG images just in a single line of C++ code: png::image< png::rgb_pixel > image("input.png"); image.write("output.png");

Operating Systems

  • Platform-independent
  • POSIX

Compilers

  • GCC
  • Any standard C++ compiler

Added : 2008-11-06 Amended: 2008-11-06 Licensing : BSD style

    png++ - a C++ wrapper for libpng
  • Project page
  • Submitted by:Alexander Shulgin
Add a comment

PNGwriter - A C++ class allowing easy plotting to (and reading from) PNG images

This class, which requires libpng, allows you to plot to a 16-bit PNG file, saving it directly to disk. Plotting is as easy as specifying the red, green, blue values and the x, y coordinates of the pixel.

It includes functions for plotting simple geometric shapes (circle, rect, line), reading the colour of a pixel, reading in a whole PNG file (great for image analysis), plotting and reading in HSV colourspace and many others that might come in handy.

This class has proven tremendously useful for my own scientific simulation needs, and I would like others to benefit from its use as well.

It is available in both english and spanish, and is complemented by a PDF manual and a website with examples, a forum, and so on.

I have only tested it on Mac OS X and Debian Linux, but I don't see why it shouldn't compile on anything that has libpng.

Operating Systems

  • Linux
  • Mac

Added : 2003-01-08 Amended: 2003-01-09 Licensing : GNU copyleft

Add a comment

POCO C++ Libraries - POCO are open source libraries accelerating development of network-centric porta

The POCO C++ Libraries (POCO stands for POrtable COmponents) are open source C++ class libraries that simplify and accelerate the development of network-centric, portable applications in C++. The libraries integrate perfectly with the C++ Standard Library and fill many of the functional gaps left open by it. Their modular and efficient design and implementation makes the POCO C++ Libraries extremely well suited for embedded development, an area where the C++ programming language is becoming increasingly popular, due to its suitability for both low-level (device I/O, interrupt handlers, etc.) and high-level object-oriented development. Of course, the POCO C++ Libraries are also ready for enterprise-level challenges. The POCO C++ Libraries free developers from re-inventing the wheel, and allow them to spend their time on more worthwhile areas, such as getting things done quickly and working on the features that make their application unique.

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

    POCO C++ Libraries - POCO are open source libraries accelerating development of network-centric porta
  • POCO Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

POST++ - Persistent Object Storage for C++

"Persistent Object Storage for C++" (POST++) is simple and effective persistent object storage for single-user applications (personal OODBMS). POST++ is based on memory mapping mechanism and provides access to persistent objects without any runtime overhead. POST++ supports transactions, garbage collection, fast memory allocation, objects with multiple inheritance and virtual functions. POST++ is available for Windows-95/NT and for several dialects of Unix (Digital Unix, Linux, Solaris) and Windows NT/95. It can be used with standard C++ compilers and requires no special tools for development.

Operating Systems

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

Added : 1998-07-22 Amended: 2008-07-29 Licensing : Shareware

Add a comment

Power View IDE - DOS-hosted IDE for Watcom C++

As WATCOM International Corp. has not included a DOS-hosted IDE in the Watcom C/C++ package, here it is - Power View IDE. Tired of having to load Windows to use the Watcom IDE for DOS applications development? The answer is Power View IDE.

Power View IDE has powerful build-in multi-file programmer's editor. You use dialog boxes to navigate options for the Watcom C/C++ compilers and for the Watcom Linker. The compiler and the linker are executed from inside the IDE, using build-in automatic dependency check for target object files. Power View IDE uses special filter programs to locate produced errors in your source. The source of these filter programs is also included for those who want to write filters for translators other than Watcom C/C++/Assembler/Linker.

Operating Systems

  • PC DOS

Compilers

  • Watcom C++

Added : 1998-02-24 Amended: 1998-02-24 Licensing : Shareware

Add a comment

Power View Windowing Interface - Source code for Power View Windowing Interface

Power View Windowing Interface is a 32-bit DOS4/GW library designed for 32-bit DOS-hosted applications development. It is 100% Watcom C++ compatible code. Power View is object-oriented, event-driven program. However, in most cases client program doesn't need to be object-oriented and/or event-driven. For most of C++ classes defined and used by Power View there are simple functions to interface with client program. That's why Power View is quite easy to use and learn.

Power View IDE is a DOS-hosted Integrated Development Environment for Watcom C/C++ compiler. You can use the source code of Power View IDE for understanding how does Power View Interface work, and to learn using it for your own applications.

Operating Systems

  • PC DOS

Compilers

  • Watcom C++

Added : 1998-02-24 Amended: 1998-02-24 Licensing : Public Domain

Add a comment

PStade C++ Libraries - This library is Boost based library. about Range, Function Object, etc...

This library is Boost based library about Range, Function Object, etc...

Specifically, PStade.Oven is a very strong Range Library.

This library includes:

Biscuit
A PEG Parser generator framework based on YARD
Egg
A framework of making function objects
Ketchup
The Replacement for BEGIN_MSG_MAP of ATL/WTL using Class Templates
Napkin
A Logging Library using Boost.LexicalCast
Oven
A Boost.Range Extension Library
Tomato
An ATL/WTL Extension Library
Wine
Language Utilities

Operating Systems

  • PC 32-bit Windows
  • Mac
  • FreeBSD, Darwin

Compilers

  • Visual C++
  • GCC
  • Comeau

Added : 2010-05-05 Amended: 2010-05-05 Licensing : Boost

Add a comment

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

  • Sparc
  • Sun
  • Solaris
  • Dec Alpha
  • Dec OSF/1

Compilers

  • GCC

Added : 1996-11-13 Amended: 1997-04-10 Licensing : GNU copyleft

Add a comment

Ptypes - C++ Portable Types Library

PTypes (C++ Portable Types Library) is a simple alternative to the STL that includes multithreading and networking. It defines dynamic strings, character sets, lists, and other basic data types along with threads, synchronization and IP sockets. PTypes also offers message queues as an alternative method of thread synchronization. Its main `target audience' is developers of complex network daemons, robots or non-visual client/server applications of any kind.

PTypes defines simple and intuitive interfaces. It is portable across many modern operating systems (Currently FreeBSD, Linux, SunOS, Mac OS X and Windows). All platform-dependent issues are hidden inside. A simple web server called wshare is included in the package to demonstrate the full power of PTypes.

And finally, PTypes is open and free.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sun
  • Solaris
  • Unix
  • PC Windows
  • FreeBSD
  • FreeBSD, Darwin

Compilers

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

Added : 2002-06-18 Amended: 2002-08-20 Licensing : Copyrighted freeware

Add a comment

PVM++ - Easy Programing of PVM (Parallel Virtual Machine)

This library provides an easy way to program the widely used parallel programming library PVM, which works in homogenous and heterogenous network environments. The main features are
  • Easy sending and receiving of messages in heterogenous networks.
  • Full STL-integration.
  • easy installation with configure-script on all UN*X platforms
  • easy access to all task and host information o message handlers are possible
  • messages can be automatically unpacked on arrival

Operating Systems

  • Unix

Compilers

  • GCC

Added : 1998-02-24 Amended: 2008-07-29 Licensing : GNU copyleft

Add a comment

pystring - Python string methods with std::string

Pystring is a collection of C++ functions which match the interface and behavior of python’s string class methods using std::string. Implemented in C++, it does not require or make use of a python interpreter. It provides convenience and familiarity for common string operations not included in the standard C++ library. It’s also useful in environments where both C++ and python are used.

Overlapping functionality (such as index and slice/substr) of std::string is included to match python interfaces.

Originally developed at Sony Pictures Imageworks.

Operating Systems

  • could run on any OS, but not tested

Compilers

  • could be compiled, but not tested

Added : 2010-11-16 Amended: 2010-11-16 Licensing : BSD style

    pystring - Python string methods with std::string
  • Project home page
  • Submitted by:Domenic Laritz
Add a comment

Libraries available to download (Q-Z)

qDecoder - qDecoder is a development kit for C/C++ network programming

qDecoder is a development kit for C/C++ network programming includes CGI/FastCGI supports. For the use of C/C++ CGI programming, the query-fetch algorithm based on the linked-list provides transparency with low layers by the simple library interface regardless of COOKIE/GET/POST(including File Upload). Thus, it enables the web based software to be more intuitively designed and implemented.

Operating Systems

  • Linux
  • FreeBSD
  • FreeBSD, Darwin

Compilers

  • Visual C++
  • GCC

Added : 2009-09-04 Amended: 2009-09-04 Licensing : Non commercial

    qDecoder - qDecoder is a development kit for C/C++ network programming
  • qDecoder Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

Qt - Qt - A cross-platform application and UI framework.

Develop applications and user interfaces once, and deploy them across Windows, Mac, Linux/X11, embedded Linux, Windows CE and S60 (coming soon) without rewriting the source code. Qt allows open source and commercial software developers to code less, create more and deploy everywhere. Qt enables developers to build innovative applications and user interfaces once and then extend the innovation across all major desktop, consumer electronic and other embedded platforms without rewriting the code. Qt has an LGPL/Free version.

Operating Systems

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

Compilers

  • GCC
  • Any Unix C++ compiler
  • Any standard C++ compiler

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

    Qt - Qt - A cross-platform application and UI framework.
  • Qt Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

Quercus Robusta - C++ application framework.

Quercus Robusta is re-usable opensource C++ application framework. It supports refcounting GC, flexible polymorphic containers, portable multithreading, GUI (over X11, Win32 API and curses), parsers and persistence.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sparc
  • Sun
  • Solaris
  • Unix
  • X Windows
  • PC Windows

Compilers

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

Added : 2000-09-22 Amended: 2000-09-22 Licensing : GNU copyleft

Add a comment

QxOrm - QxOrm - C++ Object Relational Mapping (ORM) library

QxOrm is a C++ library designed to provide Object Relational Mapping (ORM) feature to C++/Qt users (like Hibernate in Java, or NHibernate in .Net).

QxOrm engine is based on a simple and non intrusive mapping function by class to provide :

  • Persistence (based on QtSql)
  • Serialization (XML and binary, based on boost serialization)
  • Reflection or introspection (invoke class methods and access to properties)
QxOrm is developed by Lionel Marty, a software development engineer since 2003.

For more information about QxOrm library, please visit the web site.

Operating Systems

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

Compilers

  • Visual C++
  • GCC

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

    QxOrm - QxOrm - C++ Object Relational Mapping (ORM) library
  • QxOrm website
  • Submitted by:QxOrm
Add a comment

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

  • GCC
  • MetroWerks CodeWarrior

Added : 1995-01-01 Amended: 2008-11-04 Licensing : Not known

Add a comment

Range - C++ class for range arithmetic.

Associated with article in TOMS, Dec 1992 title "Precise computation using range arithmetic, via C++".

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

Add a comment

RapidXml - RapidXml is an attempt to create the fastest XML parser possible.

RapidXml is an attempt to create the fastest XML DOM parser possible, while retaining useability, portability and reasonable W3C compatibility. It is an in-situ parser written in C++, with parsing speed approaching that of strlen() function executed on the same data.

Entire parser is contained in a single header file, so no building or linking is neccesary. To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory), and include it where needed. You may also want to use printing functions contained in header rapidxml_print.hpp.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Compiler independent

Added : 2010-11-09 Amended: 2010-11-09 Licensing : Boost

Add a comment

Reason - Reason is a C++ cross platform framework

Reason is a cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. It is ideally suited to developing web services, enterprise applications, and internet technologies. Reason contains many features missing in other C++ libraries such as xml, xpath, regular expressions, threads, sockets, http, sql, times and dates, streams, encoding and decoding, files and folders, compression, and much more.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

Add a comment

recls - Platform-independent, multi-language, recursive search library

recls - standing for recursive ls - is a platform-independent recursive search library, written in C and C++, and presenting a C API.

The library also includes mappings to several languages and technologies, including C++ (simple wrapper classes), C++ (STL), C#, COM (IEnumXXXX), COM (Automation collections), D, Java, Managed C++, Perl, Python and Ruby

The library is the exemplar for Matthew Wilson's Positive Integration column in C/C++ User's Journal, in which he takes the reader through the process of mapping C/C++ libraries to a host of target languages and technologies.

Supplied as source, not binary, including makefiles and IDDE project files

Operating Systems

  • Linux
  • Unix
  • PC Windows

Compilers

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

Added : 2003-11-06 Amended: 2008-06-26 Licensing : Public Domain

Add a comment

refcnt - Reference Counting for C++

Reference counting for C++. Freeware. Uploaded by the author.

Added : 1999-10-14 Amended: 1999-10-14 Licensing : Freeware

Add a comment

Regex++ - C++ template regular expression library

A regular expression library for C++ which handles both char and wchar_t types. Template search/match/grep functions allow for the searching of any bi-directional iterator type, making seemless searches of non-contiguous data possible. Customised traits classes allow for localisation and almost endless customisation if required. The library is freely available, and comes with full documentation + demo applications + regression tester.

Should work with any compiler supporting templates, on any operating system.

Operating Systems

  • PC DOS
  • PC Windows

Compilers

  • Visual C++
  • Borland C++

Added : 1998-12-03 Amended: 1998-12-03 Licensing : Public Domain

Comment from : broken link on 2010-01-16

broken link

Comment from : Nikki Locke on 2010-01-18

Suggest you use the Boost library instead.

Add a comment


Restbed - Asynchronous RESTful Framework

The Restbed framework brings asynchronous RESTful functionality to C++11 applications. Restbed is looking to address compliance with all of the HTTP specifications past, present and feature.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Compiler independent

Added : 2015-10-26 Amended: 2015-10-26 Licensing : GNU copyleft

Add a comment

Rhapsodia.Scheduler - Concurrency Support Library

Rhapsodia.Scheduler library provides minimal and hopefully complete versions of classes commonly used in concurrent C++ programming. The library code consists of concepts that have been successfully used in production systems and follows well established concurrency design patterns and language idioms. Most of all, the emphasis has been on code that will work well with the C++ Standard Library and the Boost library.

Library is hosted at SourceForge.net

Operating Systems

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

Compilers

  • Visual C++
  • GCC

Added : 2004-01-16 Amended: 2004-01-16 Licensing : Public Domain

Add a comment

RTTI implementation

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

Add a comment

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

Add a comment

RudeServer - Open Source C++ CGI Library

Rude promotes Open Source C++ CGI development, by providing the following core libraries: RudeCGI™ Open Source C++ CGI Library RudeDatabase™ Open Source C++ Database Library RudeSocket™ Open Source C++ Socket Library RudeConfig™ Open Source C++ Config File Library C++ Session Library

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    RudeServer - Open Source C++ CGI Library
  • Rude Homapage
  • Submitted by:Kizza George Mbidde
Add a comment

Rudiments - C++ class library

Rudiments is an Open Source C++ class library providing base classes for things such as daemons, clients and servers, and wrapper classes for the standard C functions for things like regular expressions, semaphores, and signal handling.

Operating Systems

  • Platform-independent

Compilers

  • Compiler independent

Added : 2013-11-07 Amended: 2013-11-07 Licensing : Open Source

Add a comment

SA - Library for simulated annealing

Thanks to Tarjei Knapstad for updated FTP site information.

Added : 1995-01-01 Amended: 1999-08-10 Licensing : Not known

Add a comment

SCEW - Simple C Expat Wrapper

The aim of SCEW is to provide an easy interface around the XML Expat parser, as well as a simple interface for creating new XML documents. It provides functions to load and access XML elements without the need to create Expat event handling routines every time you want to load a new XML document.

These are the main SCEW features:

  • Uses a DOM-like object model for new or parsed XML documents.
  • Supports loading concatenated XML documents.
  • Can copy and compare full XML documents, elements or attributes.
  • Writes XML documents to multiple outputs.
  • Allows adding new I/O sources easily.
  • UTF-8, ISO-8859-1 and US-ASCII encodings (and UTF-16 in Windows).

Operating Systems

  • could run on any OS, but not tested

Compilers

  • could be compiled, but not tested

Added : 2011-06-15 Amended: 2011-06-15 Licensing : GNU copyleft

Add a comment

Schifra C++ Reed-Solomon Library - Schifra C++ Reed-Solomon Library

Schifra is a very robust, highly optimized and extremely configurable Reed-Solomon error correcting code library implemented in C++. Schifra supports standard, shortened and punctured Reed-Solomon codes. It also has support for stacked product codes and interleaving.

url: http://www.schifra.com

Operating Systems

  • PC DOS
  • PC 32-bit Windows
  • SGI Irix
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • Mac

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • HP C++
  • Intel C++

Added : 2006-11-06 Amended: 2006-11-06 Licensing : GNU copyleft

Add a comment

script - C++ interpreted language

This a set of C++ classes which create a new interpreted language which is freely inspired from "C" and HP RPL (that's calculators).

This scripting language is freely inspired by the C-language syntax and HP's RPL in the way of manipulating variables : - There are no variable declaration, but the first use of a new variable name must be a write (no read allowed on a undefined name). You can considere that the declaration is included in this first write. I find this way to do the declaration good to avoid use of uninitialised variable. - Control structures must have the prefix #. This language syntax isn't very beautiful but I found it cleared the code. - Functions exists through file separation : one file, one function. The behavior is the same as Matlab .M files. - A variable isn't type constant. This allows a variable name to change of type. Actually, 5 types can be used, but the structure of the program allows an easy add of new types : integer, strings, real, array and list.

The full source is provided and some examples of scripts.

Operating Systems

  • PC 32-bit Windows
  • PC Windows

Compilers

  • Visual C++
  • Watcom C++

Added : 1999-06-21 Amended: 1999-06-21 Licensing : Public Domain

Add a comment

Sdeint

A Runge-Kutta like class for integrating systems of Stochastic Differential Equations.

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

Add a comment

SDL - Simple DirectMedia Layer

Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."

SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, Java, Lua, ML, Perl, PHP, Pike, Python, and Ruby.

Operating Systems

  • Linux
  • IBM AIX
  • Solaris
  • PC Windows
  • Mac
  • FreeBSD

Added : 2004-06-22 Amended: 2004-06-22 Licensing : GNU copyleft

Add a comment

SeqAn - Efficient algorithms and data structures for (biological) sequence analyses.

SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. The library applies a unique generic design that guarantees high performance, generality, extensibility, and integration with other libraries. SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance.

Operating Systems

  • Linux
  • PC Windows
  • Mac

Compilers

  • Visual C++
  • GCC

Added : 2014-03-28 Amended: 2014-03-28 Licensing : BSD style

Add a comment

SESAME - Neural net software ?

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

Add a comment

Shift-Right Open Repository - C++ Class Library and Reusable Build Environment

The Shift-Right Open Repository is a complete development environment for C/C++ programmers. The main focus of the Repository is on reusable code. Another characteristic of the Repository is that the majority of the code was developed for embedded software development. And as such, was designed to meet the constrained environment of embedded programming. The most obvious characteristics are the obsession with deterministic memory management and strict type checking.

The C++ library contains a large range of functionality and interfaces such as: threading, inter-thread communications, streamio, socketio, parsing, multi-threaded database support, strings, containers, etc. The Repository also contains reusable build environment

Operating Systems

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

Compilers

  • Visual C++
  • GCC

Added : 2002-03-08 Amended: 2002-03-08 Licensing : Copyrighted freeware

Add a comment

shwild - Shell Compatible Wildcard Matching

shwild is a simple, platform-independent library for shell-compatible wildcard matching. It is implemented in C/C++, expressing a C-API, with a C++ wrapper.

Operating Systems

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

Compilers

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

Added : 2006-05-15 Amended: 2008-06-26 Licensing : Public Domain

Add a comment

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 : 1996-03-19 Amended: 1996-03-19 Licensing : Shareware

Add a comment

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

  • Sun

Compilers

  • GCC

Added : 1995-01-01 Amended: 1995-01-01 Licensing : Copyrighted freeware

Add a comment

Simpack - Tools for writing simulations with a EECS bias

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

Add a comment

SMTP/POP3 - SMTP/POP3 Email Engine for C/C++

SMTP/POP3 Email Engine for C/C++ v3.1. Win16 and Win32 DLLs. Email from your C/C++ application. Simple API allows sending & receiving email, including MIME attachments. Knowledge of Winsock and TCP/IP is not needed. Includes multiple C/C++ examples.

Operating Systems

  • PC Windows

Compilers

  • Visual C++

Added : 1999-06-04 Amended: 2011-02-21 Licensing : Shareware

Add a comment

SMURPH - A C++ library which could be useful for building a network simulator

It comes with extensive documentation and examples.

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

Add a comment

SObjectizer - It's all about in-process message dispatching!

SObjectizer is a small tool for simplification of development of concurrent and event-driven applications in C++. It was used for projects of various sizes: from very small utilities to large distributed and highly loaded applications.

SObjectizer is strongly influenced by agent-oriented approach. It allows to build a concurrent application as a set of agent-objects which interact with each other only by means of asynchronous messages. SObjectizer takes responsibility of in-process message dispatching and providing working context for message processing. And allows to tune those things by supplying various ready-to-use dispatchers just out-of-box.

Operating Systems

  • Linux
  • PC Windows
  • FreeBSD
  • FreeBSD, Darwin

Compilers

  • Any standard C++ compiler

Added : 2015-10-26 Amended: 2015-10-26 Licensing : BSD style

Add a comment

SOCI - Simple library for embedding SQL in C++

SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix

Compilers

  • Visual C++
  • GCC

Added : 2004-09-29 Amended: 2008-07-29 Licensing : Copyrighted freeware

Add a comment

SOCI - The C++ Database Access Library. - SOCI is a database access library for C++.

SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++. The idea is to provide C++ programmers a way to access SQL databases in the most natural and intuitive way. If you find existing libraries too difficult for your needs or just distracting, SOCI can be a good alternative.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    SOCI - The C++ Database Access Library. - SOCI is a database access library for C++.
  • SOCI Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

SOCKET++ - C++ iostream like library for sockets and pipes

The code was oringially developed by Gnanasekaran (Sekar) Swaminathan (gs4t@virginia.edu), at the Department of Electrical Engineering at the University of Virginia, a few years ago. The master repository was ftp://ftp.virginia.edu/pub.

Version 1.10 does not include C++ exception handling, and it therefore "more portable".

Version 1.11 has a number of changes that make it less portable. I recommend that you use version 1.10 unless you want to try out using exception handling, then you can try using version 1.11. If you use version 1.11, then you will need to catch exceptions in your mail client.

Operating Systems

  • IBM AIX
  • Solaris
  • PC Windows
  • Dec OSF/1

Compilers

  • GCC
  • Sun CC
  • IBM xlC
  • CygWin

Added : 1995-01-01 Amended: 2008-07-29 Licensing : Not known

Add a comment

SocketMan - C++ Socket Library

Portable, robust, and easy-to-use socket library for implementing client-server and multicast communication models.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • Sun
  • HP UX
  • Dec Alpha
  • Dec Ultrix

Compilers

  • Visual C++
  • GCC
  • Dec CC
  • SGI CC
  • Cfront

Added : 1998-12-03 Amended: 1998-12-03 Licensing : GNU copyleft

Add a comment

SOL++2000 Class Library - User interface construction toolkit for Microsoft Windows

This is a completely free C++ class library for Microsoft Windows. All source files of the library and a lot of sample programs are also available. One of the striking features of SOL++2000 is the simplicity of handling of Windows events.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++

Added : 1999-08-26 Amended: 1999-08-27 Licensing : Public Domain

Add a comment

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.gz or splashxxx.zip where xxx is the version number, currently 192 (for version 1.92)

Operating Systems

  • PC DOS
  • Unix

Added : 1995-01-01 Amended: 1998-12-03 Licensing : Public Domain

Add a comment

stdlib - UTF8 console i/o in Windows, other crucial stdlib fixes, functional area headers

stdlib is a pure header library that provides
  • fixes for some standard library issues, including that <stdlib/console_io.hpp> makes Windows console i/o work for international text such as Norwegian (more precisely the Basic Multilingual Plane of Unicode is supported for the iostreams objects such as cout), with narrow text encoded as UTF-8;
  • C++ library header wrappers for all C++ standard library headers, e.g. you can just include <stdlib/iostream.hpp> where you want the <iostream> header with the Windows console i/o fix, plus some;
  • C library header wrappers, e.g. <stdlib/math.hpp> which for maximal portability includes both <cmath> and <math.h> for you, and ditto for the other C library headers;
  • functional area headers for the C++ standard library, e.g. just include <stdlib/io.hpp> to get all the C++ iostreams headers plus the C standard library’s i/o headers, more precisely all headers in this category mentioned in the header overview at cppreference.com; and
  • extensions such as <stdlib/byte_to_wide_converter.hpp>, which provides the class that’s used for narrow and wide encoding conversion in the Windows console i/o fix. Most of the extensions are part of the library implementation anyway, so they’re provided in a reusable form in the public interface. Those that are not directly used in the current library code, are provided for completeness.
Other fixes & nice-to-haves include
  • support for de facto standard <math.h> constants such as M_PI;
  • support for the C++ standard’s alternative keywords such as and, or and not, in Visual C++;
  • random seed for C++11 random number generation with g++;
  • support for output of something that converts implicitly to wchar const*, on a wide stream, corresponding to how something that converts implicitly to char const* can be output an a narrow stream;
  • setting the default locale in C and C++ to the user’s native locale, which makes the wide iostreams work for international text in *nix-land;
  • setting UTF-8 as the basic execution character set (i.e. for narrow literals) in Visual C++; and just because it’s nice to have in a portable way,
  • support for ANSI escape sequences, e.g. to produce colored console text or move the text cursor on the screen, in Windows 10 and later.

Operating Systems

  • Cross platform, should work on any.

Compilers

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

Added : 2017-06-20 Amended: 2017-06-21 Licensing : Boost

Add a comment

STLSoft - Robust, Lightweight, Cross-platform, Template Software

STLSoft provides freely available STL-like extensions, including STL-style wrappers for common operating system and framework APIs (such as Windows, Unix, COM, MFC, ATL).

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix

Compilers

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

Added : 2003-08-08 Amended: 2008-06-26 Licensing : Public Domain

Add a comment

STXXL - Standard Template Library for Extra Large Data Sets

The core of STXXL is an implementation of the C++ standard template library STL for external memory (out-of-core) computations, i.e., STXXL implements containers and algorithms that can process huge volumes of data that only fit on disks. While the closeness to the STL supports ease of use and compatibility with existing applications, another design priority is high performance.

The key features of STXXL are:

  • Transparent support of parallel disks. The library provides implementations of basic parallel disk algorithms. STXXL is the only external memory algorithm library supporting parallel disks.
  • The library is able to handle problems of very large size (tested to up to dozens of terabytes).
  • Improved utilization of computer resources. STXXL implementations of external memory algorithms and data structures benefit from overlapping of I/O and computation.
  • Small constant factors in I/O volume. A unique library feature called "pipelining" can save more than half the number of I/Os in many applications.
  • Shorter development times due to well known STL-compatible interfaces for external memory algorithms and data structures.
  • STL algorithms can be directly applied to STXXL containers; moreover, the I/O complexity of the algorithms remains optimal in most of the cases.

Operating Systems

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

Compilers

  • Visual C++
  • GCC

Added : 2010-11-16 Amended: 2010-11-16 Licensing : Boost

Add a comment

SV_Lib - Class library for speech recognition and speaker verification

Currently, there are more than 20 classes in this library, including commonly used feature extraction algorithms and modeling techniques for speech recognition and speaker verification.

The following highlights the main features of this library:

  1. Modeling
    • Continuous density HMM,
    • Discrete density HMM,
    • Gaussian Mixture Model (GMM),
    • Vector Quantization model (VQ),
    • Multivariate Gaussian model,
    • Dynamic Time Wrapping (DTW),
  2. Feature extraction
    • Mel-scaled FFT based cepstrum (MFCC),
    • LPC based cepstrum (LPCC),
    • Dynamic features (delta cepstrum),
    • Pitch extractor,
  3. Speech Input
    • Read raw speech data (16-bit PCM, 8-bit ULAW),
    • Read data with SPHERE header (NIST format) (both compressed and uncompressed),
  4. Auxiliary Classes
    • Fourier transforms (FFT/IFFT),
    • Discrete cosine transform (DCT/IDCT),
    • LPC analysis,
    • Design FIR filter (lowpass, highpass, bandpass, bandstop),
    • Matrix (Inverse, Determinant, Eigen, SVD),
    • Waveform generator (noise, modulated tone, sawtooth etc.),
    • Window functions (hamming, hanning, triangle, blackman, etc.)
    • Function operation (root, minimum, numerical integration).

Operating Systems

  • PC 32-bit Windows
  • Solaris

Compilers

  • Visual C++
  • GCC

Added : 1999-06-15 Amended: 2008-07-29 Licensing : Freeware

Add a comment

SXP - Simple XML Persistence

very lightweight, adding support for serialization of simple data members is done with 4 lines of source per member, support for numeric/string/Unicode string simple data members is built-it, easily extended for more datatypes

Compilers

  • Visual C++
  • MetroWerks CodeWarrior

Added : 2000-04-26 Amended: 2000-05-03 Licensing : Artistic License

Add a comment

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 : 1997-03-19 Amended: 1997-03-27 Licensing : Copyrighted freeware

Add a comment

TdhListsAPI - TdhListsAPI provides fast, flexible dynamic data storage for C++ programs

The purpose of TdhListsAPI is to provide fast, flexible dynamic data storage for C++ programs, including:
  • Queues and Stacks
  • Sorted lists
  • Indexed lists (b-trees)
  • Circular Stacks and AutoKey lists
  • Multi Head lists
  • List Notifications
  • List Managers
  • Managed relationships between lists
The purpose of TdhEditAPI is to provide an editor for TdhLists.

The download includes:

  • User's manuals for TdhListsAPI and TdhEditAPI
  • Demonstration source code for TdhLists and TdhEdit with all required header files and libraries
  • executable libraries for MS Win and Linux

Operating Systems

  • Linux
  • PC Windows

Compilers

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

Added : 2016-07-13 Amended: 2016-07-13 Licensing : Freeware

    TdhListsAPI - TdhListsAPI provides fast, flexible dynamic data storage for C++ programs
  • product description and download
  • Author://www.linkedin.com/pub/tim-hirrel/15/1a5/970
  • Submitted by:Tim Hirrel
Add a comment

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 : 1995-01-01 Amended: 2008-07-29 Licensing : GNU copyleft

Add a comment

Thrust - Thrust is a parallel algorithms library which resembles the C++ STL

Thrust is a parallel algorithms library which resembles the C++ Standard Template Library (STL). Thrust's high-level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs. Interoperability with established technologies (such as CUDA, TBB, and OpenMP) facilitates integration with existing software. Develop high-performance applications rapidly with Thrust!

When using CUDA backend, Thrust requires nvcc (NVIDIA (R) Cuda compiler driver).

The library is under Apache License 2.0.

Operating Systems

  • Linux
  • PC Windows
  • Mac

Compilers

  • Any standard C++ compiler

Added : 2014-09-29 Amended: 2014-09-29 Licensing : Open Source

Add a comment

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

Add a comment

TSR100JE.ZIP - TSR 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

tvmet - A Tiny Vector Matrix library using Expression and Meta Templates.

This Tiny Vector and Matrix template library uses Meta and Expression Templates to evaluate results at compile time, thus making it fast for low-end systems. Temporaries are avoided because of this. The dimensions are static and bounded at compile time.

More generaly this can be a replacement/extension to blitz++ tiny matrix and tiny vector classes (If you know it from blitz++ probably you will have no problems on using it).

Operating Systems

  • Linux
  • Unix

Compilers

  • GCC
  • Intel C++

Added : 2003-11-04 Amended: 2003-11-05 Licensing : GNU copyleft

Add a comment

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++

Added : 1995-01-01 Amended: 1995-01-01 Licensing : Shareware

Add a comment

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 : 1996-02-05 Amended: 1996-02-05 Licensing : Copyrighted freeware

Add a comment

Unicomm - Unified Communication Protocol - High-level asyncronous framework for TCP based nework application creation

Unicomm is a free open source multiplatform C++ framework that allows to create application level protocols over TCP transport. There are different rules can be applied to support communication logic. The main purpose is to focus on business logic and make communication process transparent to user. Unicomm simplifies connection management like accepting incoming connections and handling disconnects. It provides an easy way to associate data with the connection. Thus unicomm is the engine provides flexible mechanisms to construct custom logic protocols. Predefined xml and binary formats are also provided as option. Unicomm provides modularity and clear design of the application. Protocols implemented by using unicomm are flexible to changes and easily modifiable. Unicomm supports SSL, it’s lightweight and provides hundreds of concurrent connections processing (without considering business logic level as if unicomm handlers would be empty) on decent hardware.

Unicomm is based on boost , stl and compiled with msvc 8.0, 9.0, 10.0, gcc 4.2. It is supplied with Boost.Build scripts and Microsoft Visual Studio 2005, 2008, 2010 project files. Unicomm is tested under Windows and Ubuntu Linux.

Operating Systems

  • Linux
  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC

Added : 2013-10-15 Amended: 2013-10-15 Licensing : Boost

    Unicomm - Unified Communication Protocol - High-level asyncronous framework for TCP based nework application creation
  • Home page
  • Submitted by:Dmitry Timoshenko
Add a comment

Unidraw - A graphical editor building library

Unidraw is a graphical editor building library based on top of InterViews.

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

Add a comment

uSTL - uSTL is a partial implementation of the STL specification.

uSTL is a partial implementation of the STL specification intended to reduce code size of the derivative programs. Usually, the STL containers manage their own storage with new[] and delete[] operators, which create strongly typed storage. Although type safety is a good thing, placing memory management code into a template necessitates its reinstantiation for every template instance used by the derivative program. This produces substantial code bloat, that is frequently derided by C developers and used by them as an argument that C is better than C++. The uSTL implementation solves this problem by factoring memory management code into a non-template base class, ustl::memblock, which performs unstructured memory allocation. STL containers are then implemented as template wrappers for memblock to provide a measure of type safety.

Operating Systems

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

Compilers

  • Any standard C++ compiler

Added : 2009-10-07 Amended: 2009-10-07 Licensing : Open Source

Add a comment

UTF-8 CPP - A simple, portable generic library for handling UTF-8 encoded strings.

Many C++ developers miss an easy and portable way of handling Unicode encoded strings. The original C++ Standard (known as C++98 or C++03) is Unicode agnostic, and while some work is being done to introduce Unicode to the next incarnation called C++0x, for the moment nothing of the sort is available. In the meantime, developers use third party libraries like ICU, OS specific capabilities, or simply roll out their own solutions. In order to easily handle UTF-8 encoded Unicode strings, I came up with a small generic library. For anybody used to work with STL algorithms and iterators, it should be easy and natural to use. The code is freely available for any purpose - check out the license at the beginning of the utf8.h file. If you run into bugs or performance issues, please let me know and I'll do my best to address them. The purpose of this article is not to offer an introduction to Unicode in general, and UTF-8 in particular. If you are not familiar with Unicode, be sure to check out Unicode Home Page or some other source of information for Unicode. Also, it is not my aim to advocate the use of UTF-8 encoded strings in C++ programs; if you want to handle UTF-8 encoded strings from C++, I am sure you have good reasons for it.

Operating Systems

  • All platforms that support ANSI C++ and PThreads
  • Platform-independent

Compilers

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

Added : 2010-05-14 Amended: 2010-05-14 Licensing : Boost

    UTF-8 CPP - A simple, portable generic library for handling UTF-8 encoded strings.
  • SourceForge home page
  • Submitted by:noname
Add a comment

UVS - C++ library dealing with univariate statistics

The scope of the library is univariate (single variable) statistics. In particular, the following statistical operations are supported:
  • distribution modeling: properties of commonly used statistical distributions
  • process generation: creating pseudo-random variables with specified distributions
  • sample statistics: for summarizing statistical data
  • hypothesis testing: for determining if experimental results could just be noise

Although UVS certainly does not provide a completely comprehensive treatment of these topics, facilities are provided to extend the library by coding additional classes or functions yourself.

Two types of random variable are supported: discrete (integer type) for statistics derived from counting, and continuous (floating point type) for all others.

The intended user is an application developer.

Although the code has been extensively tested, a realistic appraisal of its readiness is "alpha".

UVS was written with Visual C++ 6.0. Since that is the only compiler the author owns, no other platforms or compilers are currently supported.

All UVS symbols are in the "uvs" namespace.

UVS functions do not throw exceptions. If an argument value which calls for an infinite result is detected the function returns std::numeric_limits<double>::max().

UVS uses the Cephes library. The required components from this library are included with the distribution of UVS.

UVS is free. Full source code is provided.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++ 6

Added : 2003-03-07 Amended: 2003-03-07 Licensing : Freeware

Add a comment

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

  • Sun CC
  • CRI C++ (Cray)
  • IBM xlC
  • SGI NCC
  • Apogee CC
  • Borland C++

Added : 1995-01-01 Amended: 1996-05-22 Licensing : Non commercial

Add a comment

vhclserv - server/viewers for multi-vehicle simulation

vhclserv consists of a stand-alone multi-vehicle state server and a 2D map viewer evolved for controlling vehicles, drawing and playing routes, and displaying graphics on a map that track vehicle positions. Compiles on ivmaps and ivtools and PROJ-4.3.3 from the USGS. Optionally can be compiled to use ACE and clippoly.

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

Add a comment

VMime - Mail library for C++

VMime is a powerful C++ class library for working with MIME messages and Internet messaging services like IMAP, POP or SMTP.

With VMime you can parse, generate and modify messages, and also connect to store and transport services to receive or send messages over the Internet. The library offers all the features to build a complete mail client.

Key features

  • it is free software! GNU GPL license (Commercial licenses available!)
  • fully RFC-compliant implementation
  • object-oriented and modular design
  • very easy-to-use (intuitive design)
  • well documented code
  • very high reliability
  • maximum portability

Features Overview

  • RFC-2822 and multipart messages
  • aggregate documents and embedded objects
  • 8-bit MIME and encoded word extensions
  • full support for attachments
  • POP3, IMAP, SMTP, maildir and sendmail
  • SSL/TLS security layer and X.509 certificates (using GNU TLS)
  • SASL authentication (using GNU SASL)

Operating Systems

  • could run on any OS, but not tested
  • POSIX

Compilers

  • Visual C++
  • could be compiled, but not tested

Added : 2010-11-23 Amended: 2010-11-23 Licensing : GNU copyleft

Add a comment

VOLE - A Neat C++ COM/Automation Driver

VOLE is a C++ library that dramatically simplifies the business of driving COM servers (via the IDispatch interface) from C++.

VOLE is highly robust.

VOLE is very flexible, taking and returning normal C++ types, such as int,   double, std::string, std::wstring, and so on.

VOLE is 100% header only.

VOLE is compiler-independent

VOLE is dependent only on the STLSoft libraries (version 1.9.1 beta 43, or   later; available from http://stlsoft.org/), which are themselves   100% header-only.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior
  • Intel C++
  • Comeau
  • Digital Mars

Added : 2007-02-13 Amended: 2008-06-26 Licensing : Public Domain

Add a comment

VTK - The Visualization Toolkit

The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. VTK includes a textbook published by Prentice-Hall ( href="http://www.kitware.com/vtkhtml/vtkdata/HowToBuyBook.html"The Visualization Toolkit, An Object-Oriented Approach To 3D Graphics, 2nd edition" ISBN 0-13-954694-4 ), a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK has been implemented on nearly every Unix-based platform and PC's (Windows NT and Windows95).

The design and implementation of the library has been strongly influenced by object-oriented principles.

The graphics model in VTK is at a higher level of abstraction than rendering libraries like OpenGL or PEX. This means it is much easier to create useful graphics and visualization applications. In VTK applications can be written directly in C++, Tcl, Java, or Python. In fact, using the interpreted languages Tcl or Python with Tk, and even Java with its GUI class libraries, it is possible to build useful applications very quickly.

Finally, the software is a true visualization system, it doesn't just let you visualize geometry. VTK supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques like implicit modelling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. Moreover, we have directly integrated dozens of imaging algorithms into the system so you can mix 2D imaging / 3D graphics algorithms and data.

Operating Systems

  • PC 32-bit Windows
  • Unix

Compilers

  • Visual C++
  • Borland C++
  • Any Unix C++ compiler
  • Intel C++

Added : 2000-11-06 Amended: 2000-11-06 Licensing : Open Source

Add a comment

VTL - Views Template Library - Filtering and Transformation container adaptors

VTL provides container adaptors to allow selected data from a container to appear as if it was its own container. VTL adaptors do not modify the original container or data. VTL adaptors provide a STL complaint interface which allows the new object to be used anywhere a STL container can be used. The default arguments to the adaptors will generate code that has as much functionality as possible based on the underlying container. Adaptor types include, filter, transformation, zip, union, range, unique, intersection, difference, merge, crossproduct, downcast, polymorphic and window.

Compilers

  • GCC

Added : 2000-05-03 Amended: 2008-07-29 Licensing : Copyrighted freeware

Add a comment

VXCL - The Virtual X Class Library

The Virtual X Class Library, or VXCL for short, is a non-commercial open source collection of powerful C++ classes that encapsulate the complexities of Windows and Linux/UNIX C and C++ development. All classes are designed to use the C++ language effectively and efficiently, with minimal overhead added to the application being developed. Code size and execution speed for applications built using VXCL are inline with programs built using standard C code. There are no bloated multi-megabyte DLL's or shared libraries that must be distributed with applications using VXCL, as the code is normally (but not required to be) statically linked with the application.

From April 1996 until March 2001, VXCL was known as VWCL, the Virtual Windows Class Library. In the beginning, VWCL was intended primarily for Windows development, but support for Linux/UNIX was added in 1999. Today, what was VWCL, is used daily for development of non-Windows applications as well as Windows programs. To better express the capabilities of the library, and to atract more development input from the UNIX community, we decided to rename the library to more appropriately describe the features it can provide. By dropping the 'Windows' in favor of X, we leave open the opportunity to develop the library on (and for) platform X, which can be anything. The X does not mean X Windows. It is simply a generic term (variable X) which can be whatever you want it to be.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • egcs

Added : 2000-05-03 Amended: 2001-07-03 Licensing : Open Source

Add a comment

VXL - C++ Libraries for Computer Vision Research and Implementation

VXL (the Vision-something-Libraries) is a collection of C++ libraries designed for computer vision research and implementation. The high quality core libraries contains a fairly exhaustive range of code for numerics, image io and processing, geometry, cross-platform binary io, divided into 6 independent libraries.

Add on libraries provide numerical algorithms, image processing, co-ordinate systems, camera geometry, stereo, video manipulation, structure recovery from motion, probability modelling, GUI design, classification, robust estimation, feature tracking, topology, structure manipulation, and much more. VXL is written in ANSI/ISO C++ and is designed to be portable over many platforms. The latest version is always available by CVS and is tested daily on several platforms. It is developed and used by a consortium including groups from the Universities of Leuven, Oxford, Manchester, RPI, and GE Research.

Compilers

  • Visual C++
  • GCC
  • SGI CC
  • Sun CC
  • SGI NCC
  • MetroWerks CodeWarrior
  • Borland C++
  • HP C++
  • Symantec C++

Added : 2002-04-16 Amended: 2003-10-15 Licensing : Copyrighted freeware

Add a comment

WebApp / CGI++ - A powerful library for the development of Web applications.

WebApp / CGI++ is a powerful library for the development of web applications, with the fundamental notion of separation of programming logic and graphical display.

It works as CGI (or FastCGI) programs, but it works nothing like "classical" CGI programming, where the programs contain all the HTML (or the no-much-better approach of things like PHP, where the HTML contains the program).

A variety of related tools are included, with particular emphasis on security (including wrappers for OpenSSL cryptographic primitives such as hashes, public-key encryption, and symmetric encryption).

Operating Systems

  • Linux
  • All platforms that support ANSI C++ and PThreads

Compilers

  • GCC
  • Any standard C++ compiler

Added : 2011-08-04 Amended: 2011-08-04 Licensing : BSD style

Add a comment

Windows Standard Serial Comm Lib - Windows Standard Serial Comm Lib for C/C++

Windows Standard Serial Comm Lib for C/C++. v2.3, July 15, 1998. Win 16 & Win 32 DLLs (Windows 95, NT, 3.1). Serial communications library based on the Windows API. Includes 30 functions plus modem control, ANSI emulation, ASCII/XMODEM/YMODEM protocols, and 8 example programs.

Operating Systems

  • PC Windows

Compilers

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

Added : 1998-07-27 Amended: 1998-07-27 Licensing : Shareware

Add a comment

Windows Template Library - WTL is a C++ library for developing Windows applications and UI components

Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. License: Common Public License 1.0

Operating Systems

  • PC 32-bit Windows
  • PC Windows

Compilers

  • Visual C++
  • Visual C++ 6
  • Visual C++ .NET

Added : 2013-01-15 Amended: 2013-01-15 Licensing : Open Source

Add a comment

Winsock Interface Library - Winsock network communications

Win16 & Win32 DLLs. Feb 14, 1998. Version 2.0. The Winsock Interface Library simplifies winsock network communications programming and provides support for the most common Internet protocols such as Finger, SMTP, POP3, FTP, NNTP, and HTTP.

Operating Systems

  • PC Windows

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

Add a comment

WinZilla - C/C++ lib for easier Win programming

WinZilla is a statically linked library that provides functions for encapsulating GDI calls, dealing with fonted text, user input, interface, and more. WinZilla also provides a linear programming paradigm, making application development for Windows similar to developing applications for DOS.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++
  • Borland C++

Added : 1999-06-04 Amended: 2003-08-19 Licensing : Shareware

Add a comment

WMGL - WM PPC Graphics Library - Windows Mobile Graphics Library

WMGL (Windows Mobile Graphics Library) is a graphic library developed for Windows Mobile devices. It provides easy-in-use interfaces for fast alpha blending and various 3D effects.

Key features:

  • Various "3D" Effects (Rotate, Page, Slide)
  • Fast Alpha Blending
  • Blending types (HUE, Color, Saturation etc.)
  • Transparent PNG Support
  • Filtering
  • Bordered blitting (resize skinnable elements without resizing its borders)
  • C++ optimized procedures for semi-transparent drawing

Operating Systems

  • PC Windows

Compilers

  • Visual C++

Added : 2010-11-23 Amended: 2010-11-23 Licensing : Copyrighted freeware

Add a comment

Wt: a C++ Web Toolkit - Wt (pronounced 'witty') is a C++ library for developing interactive web applicat

Wt (pronounced 'witty') is a C++ library for developing interactive web applications. The API is widget-centric and inspired by desktop GUI APIs. To the developer, it offers complete abstraction of any web-specific implementation details, including event handling, graphics support, and pretty URLs. Unlike many page-based frameworks, Wt was designed for creating stateful applications that are at the same time highly interactive (leveraging techinques such as AJAX to their fullest) and accessible (supporting plain HTML browsers), using automatic graceful degradation or progressive enhancement. It comes with an application server that acts as a stand-alone web server or integrates through FastCGI with other web servers.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

    Wt: a C++ Web Toolkit - Wt (pronounced 'witty') is a C++ library for developing interactive web applicat
  • Wt Homepage
  • Submitted by:Kizza George Mbidde
Add a comment

wvstreams - C++ Network Programming Library

WvStreams is a network programming library in C++. WvStreams aims to be an efficient, secure, easy-to-use, and OS-independent library for doing network applications development, and we think that it has pretty much lived up to those goals. Currently all or parts of it work under Linux, *BSD, Solaris, and MAC OS X. Some parts have been ported to Windows, with a more complete port coming really soon.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

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

Add a comment

wxWidgets - Open-source cross-platform GUI library

wxWidgets is an open-source cross-platform GUI library for Windows, GTK+, MacOS 9, MacOS X, Motif, X11and OS/2. wxWidgets is a native look-and-feel toolkit since it uses native widgets wherever possible.

C++, Python, Perl, C#/.Net and other languages are supported.

wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms. Link with the appropriate library for your platform (Windows/Unix/Mac/WinCE,etc.) and compiler (almost any popular C++ compiler), and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much much more.

Operating Systems

  • OS/2
  • X Windows
  • Motif
  • PC Windows
  • Mac

Compilers

  • Any standard C++ compiler

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

Add a comment

Wykobi C++ Computational Geometry Library - Wykobi is an efficient and robust C++ 2D/3D geometry library

Wykobi is an efficient, robust and simple to use multi-platform 2D/3D computational geometry library. Wykobi provides a concise, predictable, and deterministic interface for geometric primitives and complex geometric routines using and conforming to the ISO/IEC 14882:2003 C++ language specification.

The design and structure of Wykobi lends itself to easy and seamless integration into projects of any scale that require a robust yet efficient 2D/3D computational geometry back-end.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • NeXT
  • PC Windows

Compilers

  • Visual C++
  • GCC
  • SGI CC
  • Sun CC
  • SGI NCC
  • Cfront
  • Symantec THINK C++
  • Borland C++
  • HP C++
  • Glockenspiel C++
  • Intel C++
  • Comeau

Added : 2006-08-02 Amended: 2008-06-26 Licensing : GNU copyleft

Add a comment

XD++ - Diagramming MFC Library for VC++.NET

Diagram++ Library is an C++ class framework that provides your applications with a drawing surface for diagramming, symbol manipulation, drag and drop, scrolling, zooming, and many other graphics capabilities also includes full source code for its 260+ classes.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++

Added : 2002-06-30 Amended: 2002-06-30 Licensing : Not known

Add a comment

XMLFoundation - Provides a foundation for XML support in an application

As the name suggests it provides a foundation for XML support in an application, however this is much more than just another XML parser. It applies a unique approach to handling XML that allows your application code to focus on the application rather than traversing DOM or subscribing to SAX events. The most unique feature of the XMLFoundation is the object oriented encapsulation that provides XML support in the application layer. XMLFoundation allows you to easily integrate XML with your GUI, or with your server objects, and it natively supports COM, DCOM, and CORBA objects.

XMLFoundation contains a small, fast, and portable XML tokenizer that has been refined and optimized in many large software projects for about 10 years. My involvement with XML pre-dates the finalization of the XML 1.0 recommendation by W3C. For years, the only XML Parser that could match XMLFoundation tokenization performance was "Xpat" by James Clark - but as you will see the unique ability to bypass DOM and SAX altogether makes XMLFoundation the fastest solution available for moving XML to and from application layer objects - and it requires far less lines of code to do it.

The performance of the stack based XML parser is at the top of its class for non-validating parsers. Parsing and tokenization is only half the task, the other half is getting the results into the member variables, lists, and objects that they need to be in to be useful in the application layer - it is in that task that XMLFoundation is in a class of its own. The performance is unparalleled because the memory buffer that contains the source XML parses directly into your custom class objects without ever being copied or temporarily stored in a DOM tree. It parses directly into your lists, objects, arrays, indexed data structures, and all native C++ data types. It even has support for common containers of element data such as MFC CStrings. It's been used in Java too. That said, speed of execution is less impressive than the speed of development and overall reduction in lines of code required to effectively use XML in your application.

If you are building an application that does not use XML and never will..... XMLFoundation is still a very valuable tool available to solve many very common development tasks. The data structure classes alone ( List, Hash, Stack, Tree, Array, QSort ) are very useful. They all have "Iterator" objects so that data structures can be read-referenced by multiple threads at the same time without blocking. The interface is standard to all data structures. If you find MFC or Rogue Wave Standard C++ library data structures useful, you will likely find XMLFoundation data structures even more so.

Operating Systems

  • Platform-independent

Compilers

  • Any standard C++ compiler

Added : 2009-08-24 Amended: 2009-08-24 Licensing : Open Source

Add a comment

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

Add a comment

xpressive - advanced C++ regular expression template library and parser.

xpressive is an advanced regular expression template library and recursive descent parser generator. It lets you write regular expressions and regex grammars using expression templates or strings. Expression template regexes are statically bound and syntax-checked at compile time. String-based regexes are dynamically bound and can be specified at runtime.

xpressive is a Boost.Regex work-alike, providing an interface similar to the one accepted into the C++ Technical Report (TR1).

xpressive depends on Boost version 1.31 or later.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix

Compilers

  • Visual C++
  • GCC

Added : 2005-01-24 Amended: 2005-01-24 Licensing : Public Domain

Add a comment

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
  • rs6000-aix-3.2
  • decstation-ultrix4.2
  • hppa1.1-hpux9.05

Compilers

  • GCC
  • Sun CC
  • Cfront

Added : 1995-01-01 Amended: 1995-01-01 Licensing : Copyrighted freeware

Add a comment

YAMI - Portable library for network and distributed programming.

The YAMI stands for "Yet Another Messaging Infrastructure" and is a portable library that helps to write network and distributed programs. The library is centered around the idea of Object Request Broker (ORB, like in CORBA) and provides the asynchronous communication model with dynamic interfaces. The library is portable in the sense of supported platforms and in the sense of supported languages (C, C++, Python, Tcl). The library is also very lightweight -- after compilation takes about 100kB. As an additional tool for C++ programmers, the YDL compiler is provided for processing static interface descriptions and generating C++ stubs and skeletons for staticly typed systems.

Operating Systems

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

Compilers

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

Added : 2003-03-07 Amended: 2003-10-13 Licensing : Copyrighted freeware

    YAMI - Portable library for network and distributed programming.
  • YAMI home page
  • Author:Maciej Sobczak
Add a comment

YAPL - Yet Another Parallel Library

YAPL (Yet Another Parallel Library) is a small experimental prototype implementation to illustrate some ideas about parallel libraries. It is a header-only library at present.

YAPL design principles:

The library is designed as an experimentation framework for containers and algorithms.
  1. User code should be the same in sequential and parallel modes. This ideal is not always achievable, but differences are minimized.
  2. There should be a clear separation between a container abstraction (a list of values) and its supporting implementation structure (e.g., a linked list of nodes or a vector.).
  3. For element access, YAPL uses mappings (a generalization of ranges). It does not use the C++ standard library iterators because iterators are inherently sequential.
  4. It should be easy to select the execution policy for an application (sequential, parallel, GPU, …).

YAPL structure:

The library offers components in five categories:
  • CONTAINER – provides a minimal interface for the container abstraction. A key property of a container is that it provides mechanisms for generating mappings to that container;
  • SUPPORT STRUCTURE – implements a concrete strategy that can be used by multiple containers;
  • MAPPING – provides an interface to operate on a subset of container elements. Different subsets may be generated through different defining criteria;
  • ALGORITHM – an operation that can be applied to any mapping;
  • POLICY – allows the programmer to configure how operations are sequenced and elements allocated.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2015-10-26 Amended: 2015-10-26 Licensing : Copyrighted freeware

Add a comment

YARD (Yet Another Recursive Descent) Parser - A pure C++ R-D parsing library with a built in BNF meta-language.

The YARD library provides a simple meta-language for expressing recursive descent parsers as types, using a notation which closely resembles BNF syntax. Recursive descent parsers are useful for recognizing patterns which can be expressed as context free grammars (CFG's).

The YARD library is distributed using the Boost License version 1.0 and can be used, modified and redistributed freely.

YARD is designed to be as portable as possible but is designed primarily to work on GCC 3.4.

Compilers

  • Visual C++
  • GCC

Added : 2005-03-30 Amended: 2005-03-30 Licensing : Copyrighted freeware

Add a comment

Zeus-Framework - C++ Framework used for multithreading and complex computing

Zeus is a C++ framework witch implements the aspects of Cell Computing Model. The framework is specialized to realize complex application development such as distributed systems, multithreading, cell computing etc. It runs on Linux (tested on OpenSuse 10.x) and on Win32 (tested on Windows XP). It's portable to other operating systems as well. The Zeus serves as Framework for the development of
  • Dynamic and stable software
  • Modular software by use of software components
  • Distributed applications
  • Highly complex machine controls with distributed logic

It supports you in

  • Using genetic algorithmes
  • Serializing objects
  • Distributing objects (remote method invocation)
  • Creating and using classes (java like)
  • Creating object hierarchy (XML based object hierarchy)

Zeus bring you following advantages like:

  • high reusability of the software components
    • Cost reduction
    • Fast, stepwise development
  • Software development with large teams, by exact interface descriptions
    • Decentralized software development
  • Complex systems can be simply built
    • Use of artificial intelligence
    • Use of evolutionary software
    • Use of Cell Computing Model

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Any after making small changes...
  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC
  • Borland C++
  • Any standard C++ compiler
  • Visual C++ 6
  • Visual C++ .NET

Added : 2011-08-24 Amended: 2011-08-24 Licensing : Open Source

Add a comment

Zipios++ - A small C++/iostream-based library for reading Zip files

Zipios++ is a small C++ library for reading Zip files. The structure and public interface are based (somewhat loosely) on the java.util.zip package. The streams created to access the individual entries in a Zip file are based on the standard iostream library. Additional features include

- support for embedding of a zip file in another file, e.g. a binary executable - Handling of a mix of ordinary directories and zip files through the same interface as a single zip file directory is handled through. In effect a simple virtual filesystem where ordinary directories and zipfiles can be mounted

The library is released under the GNU Lesser General Public License (LGPL).

Operating Systems

  • Linux
  • SGI Irix

Compilers

  • GCC
  • SGI CC

Added : 2000-08-09 Amended: 2000-08-09 Licensing : GNU copyleft

Add a comment

Tools for C++ Programmers

5Loaves - IP Tunneling, Routing, Proxying

An open source, cross platform, secure, internet tunneling platform with file transfer, web server, remote admin, proxy, and load balancing. Enables connections through or around firewalls and across sub-networks.

Now part of the XMLFoundation

Operating Systems

  • Linux
  • Sparc
  • Sun
  • Solaris
  • Unix
  • All platforms that support ANSI C++ and PThreads

Compilers

  • Visual C++
  • GCC
  • Sun CC
  • SUN Forte

Added : 2002-06-19 Amended: 2009-08-24 Licensing : Copyrighted freeware

Comment from : Brian Aberle on 2009-08-22

7 years have passed since the initial release of 5Loaves on trumphurst.com Trumphurst would not accept a post with the hyperlink to the new version, so google "XMLFoundation" and you will find the new version quickly.

Comment from : Nikki Locke on 2009-12-22

I've fixed the URL now

Add a comment


C++ Basics - Learn C++ by example.

cppbasics.com is a beginner C++ tutorial site that attempts to teach basics of C++ programming Language using huge number of C++ source code examples. Each example demonstrates a particular feature of C++. Most examples are complete programs in that they compile and link independently. This site can also be used by advanced C++ developers

Added : 2012-01-03 Amended: 2012-01-03 Licensing : Education

Add a comment

Cback - Cfront optimiser

Cback optimizes C source from the cfront C++ translator to create easy to read, smaller, faster and portable C source, while maintaining or improving compile times

Improves run-time performance by:

  • Minimizing object code size (especially in debug)
  • Minimizing cfront output code size
  • Simplifying cfront data structures and expressions
Improves programmer productivity with:
  • Easier to read C source from cfront output
  • Portable C source from cfront output
  • Faster link times, reducing the debug cycle
  • Seamless integration into existing compile paths
  • Availability on a broad range of Unix platforms

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

    Cback - Cfront optimiser
  • Email:al@newcode.com
  • Email:zeev@newcode.com
  • Email:info@newcode.com
  • Tel:508.454.7255
  • Tel:303.416.0784
  • Tel:Corporate HQ: 1.800.NEWCODE (1.800.639.2633)
  • Postal address: Eastern Office:NewCode Technology, Inc., 650 Suffolk Street, Lowell, MA 01854
  • Postal address:Western Office: NewCode Technology, Inc., 2406 Newport Court, Fort Collins, CO 80526
  • Fax:508.454.7559
  • Fax:303.416.0753
Add a comment

CCDL - 32-bit C compiler for DOS/DPMI

CCDL is a complete 32-bit development package for MSDOS. It incorporates a C compiler, assembler, linker, make program, librarian, and run-time libraries for a 32-bit implementation of ANSI C. It has been compiled with itself.

The full source code for the compiler, utilities and run-time libraries is included. This could make it a useful learning tool, even for non DOS users.

Operating Systems

  • PC DOS

Added : 1999-06-21 Amended: 1999-06-21 Licensing : Freeware

Add a comment

CGI.h C++ include file - Defines a CGI object and access methods

CGI.h is a C++ #include file that allows a 'CGI' object to be created then HTML tags generated via methods.

Here is an example..

#include <iostream.h> #include <stdlib.h> #include <string.h> #include "CGI.h"

int main() {

CGI c;

c.comment("A test CGI page by Trans-Euro It Ltd"); c.start_html("Stephen Martin tigger@marketrends.net", "Test CGI Page- written using C++ Include file", "white");

char cgiurl[]="http://www.mydomain.com/cgi-bin/CGI.cgi"; char method[] ="post";

c.form_start(cgiurl,method); c.submit(9; c.form_end();

c.end_html();

exit(0); }

Operating Systems

  • Unix

Compilers

  • GCC

Added : 2000-04-26 Amended: 2000-04-26 Licensing : Public Domain

    CGI.h C++ include file - Defines a CGI object and access methods
  • Submitted by:tigger@marketrends.net
Add a comment

Ch C/C++ interpreter - for shell programming, numerical computing, plotting and embedded scripting

Ch is an embeddable C/C++ interpreter for cross-platform scripting, shell programming, 2D/3D plotting, numerical computing, and embedded scripting.

Ch supports 1999 ISO C Standard (C99) and C++ classes. Ch also supports many industry standards with over 8,000 functions including POSIX, socket/Winsock, X11/Motif, OpenGL, ODBC, C LAPACK, GTK+, Win32, and CGI. Functions in static or dynamical binary C/C++ libraries can be executed interpretively in scripting without re-compilation.

Ch is also C compatible shell while C-shell (csh) is a C like shell. Ch is an interpretive implementation of C, similar to Unix/MS-DOS shells. Ch in Windows includes over 100 commonly-used Unix commands for portable shell programming. Ch can also be used as a login shell just like sh, csh and ksh. Ch bridges the gap between the C language and shell languages. With its built-in string type and many enhanced scripting features, Ch is an alternative to other scripting languages for automating repetitive tasks, regression test, and hardware testing.

Ch supports 2D/3D graphical plotting, C LAPACK, high level numeric functions. For example, linear system equation b = A*x can be written verbatim in Ch.

Embedded Ch allows users to embed Ch engine into other C/C++ application programs. Embedded Ch has a small footprint.

Ch supports an increasing number of third party software applications. It includes Ch Control toolkit, Ch NAG Statistics Package, Ch CGI toolkit, Ch ODBC toolkit, Intel OpenCV for computer vision and image processing, National Instruments' data acquisition toolkit NI-DAQ and motion control toolkit NI-Motion, Barret Technology's Barret Hand robotic manipulator control, and Perl Compatible Regular Expressions.

Ch for Windows, Linux, Mac OS X, Solaris, FreeBSD and HP-UX is available. Ch Standard Edition is free for both commercial and non-commercial. More can be found at http://www.softintegration.com

Operating Systems

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

Compilers

  • Visual C++
  • GCC
  • Sun CC
  • HP C++

Added : 2004-07-19 Amended: 2004-07-20 Licensing : Copyrighted freeware

Add a comment

Cilk++ - The Intel Cilk++ SDK is an extension to C++ improving performance on multicore p

The Intel® Cilk++ SDK is an extension to C++ that offers a quick, easy and reliable way to improve the performance of C++ programs on multicore processors. The Cilk++ suite offers support for programmers using the GCC compiler for Linux or the Microsoft C++ compiler for Windows. Cilk++ includes compiler support, runtime libraries, the Cilkscreen Race Detector and the Cilkview Scalability Analysis and Performance Tuning tools. The three Cilk++ keywords provide a simple yet surprisingly powerful model for parallel programming, while runtime and template libraries offer a well-tuned environment for building parallel applications.

Operating Systems

  • Linux
  • Unix
  • X Windows

Compilers

  • Visual C++
  • GCC

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

Add a comment

Class Edit - C++ class code generator and editor

Class Edit is a Windows 95/98 MDI "RAD" C++ Class code generator and editor. It helps in construction of new classes and maintaining or re-coding of old c++ code. The online help is designed to aid beginner and intermediate programmers in class syntax. ClassEdit 1.1 does not require installation, just unzip and run. ClassEdit 1.1 is released as Shareware version has 10 runs of full functionality.

Operating Systems

  • PC

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

Add a comment

ClassAction - OO design and C++ code gen

ClassAction is an Object Oriented design tool for Windows 95 based on an approximation of the OMT methodology. It generates C++ code suitable for MFC 4.0. Contains context sensitive help, floating/dockable toolbar, drag/drop support. Also has install/uninstall.

The current version is the first beta version.

Operating Systems

  • PC 32-bit Windows

Added : 1996-08-07 Amended: 1996-08-07 Licensing : Shareware

Add a comment

Classdoc - AWK package to produce documentation from C++ source

Dag Bruck has written this package in AWK. It produces UNIX-style manual pages from C++ class headers. If you are interested in automatic documentation, you might want to look at this.

Added : 1996-02-08 Amended: 1996-02-08 Licensing : Not known

    Classdoc - AWK package to produce documentation from C++ source
  • Mail Dag Bruck
Add a comment

CoreLinux++ - C++ class libraries for Linux

CoreLinux++ is an initiative to normalize methods and conventions for OOA/OOD/C++ development for Linux, materialized in a set of Open Source C++ class libraries to support common patterns and frameworks and exploit the C++ standards.

Operating Systems

  • Linux

Compilers

  • GCC

Added : 2000-11-02 Amended: 2000-11-02 Licensing : Copyrighted freeware

Add a comment

Cppcheck - A tool for static C/C++ code analysis

Cppcheck is an static analysis tool for C/C++ code. Unlike C/C++ compilers and many other analysis tools it does not detect syntax errors in the code. Cppcheck primarily detects the types of bugs that the compilers normally do not detect. The goal is to detect only real errors in the code (i.e. have zero false positives).

    Features:
  • Out of bounds checking
  • Check the code for each class
  • Checking exception safety
  • Memory leaks checking
  • Warn if obsolete functions are used
  • Check for invalid usage of STL
  • Check for uninitialized variables and unused functions

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Compiler independent

Added : 2013-01-15 Amended: 2013-01-15 Licensing : Open Source

Add a comment

CPPSERV - C++ Servlet Server and C++ Server Pages

CPPSERV is an application server that provides Java Servlet like API to C++ programmers. It also includes CSP (C++ Server Pages) parser, that allows one to mix HTML and C++ code, like JSP, PHP, etc.. CPPSERV is implemented as separate process that communicates with webserver front-end through sockets (either Unix-domain or TCP). Currently there are modules for two web servers: Apache and Lighttpd. CSP (C++ Server Pages) are implemented as separate pre-processor, that converts CSP code into C++ servlet, that can later be compiled and loaded into CPPSERV.

Operating Systems

  • Linux
  • SGI Irix
  • Sun
  • POSIX

Compilers

  • GCC

Added : 2006-08-14 Amended: 2008-07-21 Licensing : GNU copyleft

Add a comment

Ct: C/C++ for Throughput Computing - Ct provides programmers with tools abstracting data-parallel programming

Intel developed Ct Technology with a singular vision: to provide programmers with tools that would abstract data-parallel programming away from the hardware, as well-known programming languages have done for single core processors, while also delivering forward-scaling performance across manycore and multicore processors. Ct technology assumes no specific processor architecture, but the underlying model requires a generalized parallel processing architecture as found in multicore and manycore processors.

Ct Technology provides several key benefits for developers:

  • Reduce Errors in Parallel Programming by supporting a programming style that tends to avoid the parallel programming pitfalls which can plague parallel program development. Specifically, Ct Technology provides determinism, which helps provide certain guarantees about safety. Safety helps avoid data races and deadlocks, the two most often encountered parallel programming bugs.
  • Parallel Programming that is readable with an expressive syntax that stays close the domain expert’s mode of expression. Ct technology excels at providing a framework that allows programs to keep a programming notation close to the notation used by non-programmer experts.
  • Scaling across Multicore and Manycore Processors: Simply put, today’s programs can be ready for tomorrow’s hardware while getting the most out of today’s hardware.
  • Fits into Existing Programs: Ct Technology allows for effective data-parallelism to be added into legacy programs using existing tools and programming languages. Ct extends C++ for data-parallelism allowing for compatible and incremental addition of parallel programming into existing programs without the need for completely new and incompatible programming languages.

Operating Systems

  • All platforms that support ANSI C++ and PThreads

Compilers

  • Any standard C++ compiler

Added : 2009-12-02 Amended: 2009-12-02

    Ct: C/C++ for Throughput Computing - Ct provides programmers with tools abstracting data-parallel programming
  • Ct Intel Page
  • Submitted by:Kizza George Mbidde
Add a comment

CXT - C source code analysis

CXT (C Exploration Tools) consists of CFT (C Function Tree Generator) and CST (C Structure Tree Generator). They analyse C source code of applications, no matter how big or complex, and are useful to explore unknown software and to support software reuse and maintenance. By pre- processing, scanning and analyzing the source code, these programs build an internal representation of the function call hierarchy (CFT) and of the data structure (CST) relations. Several features and options allow the user to customize the generated hierarchy tree chart output and to get a large set of useful information about the source code. The results can be stored in a database and recalled later. The recall utility can be integrated into editors like BRIEF or MicroEMACS (DOS, Windows) and provides a hypertext-like feeling for function locating. The output calltree can be generated as HTML- and as RTF-file (Windows Help).

CXT is part of the SXT Software Exploration Tools which provide similar source code analysis features for C (CXT), DBASE (DXT), FORTRAN (FXT), JAVA (JXT) and LISP (LXT).

Added : 1998-07-27 Amended: 1998-07-27 Licensing : Shareware

Add a comment

cxx2html - Create HTML Pages from C++ Header Files

cxx2html creates HTML pages from C++ header file information. It uses information from both the class declaration and the comments to create an HTML page which describes the class. The information extracted from the class declaration is used to create a class summary with links to the member function documentation and to the documentation for the classes which are parameters to the member functions. These links are created automatically from the class declaration.

cxx2html is written in Perl 5.0 (Perl 4.* will not work), and it is currently used to create the library reference manual for the AIPS++ project centered at the National Radio Astronomy Observatory (NRAO).

Added : 2000-04-26 Amended: 2000-04-26 Licensing : Not known

Add a comment

Debea database library - Debea is an Object Relational Mapping library (ORM) for C++

Debea is an Object Relational Mapping library (ORM) for C++. It allows you to map C++ objects to relations in various SQL and file databases.

By removing hand-written SQL queries (or csv file parsing) for serialization of C++ objects you can speed-up development of applications that needs to store and load their data in SQL or other database formats. Another positive side effect of using this library is that you will always have database schema strictly related to C++ logical model.

Operating Systems

  • Cross platform, should work on any.

Compilers

  • Any standard C++ compiler

Added : 2009-11-25 Amended: 2009-11-25 Licensing : Copyrighted freeware

    Debea database library - Debea is an Object Relational Mapping library (ORM) for C++
  • link to site
  • Submitted by:Lukasz Michalski
Add a comment

Dev-C++ - Free Windows C/C++ IDE and compiler

Free environment and compiler for the C and C++ language. Creates Win32 program and contains more than 150 include files and 100 libraries.

This program has the following features:

  • C and C++ compiler for Win32
  • Debugger (GDB)
  • Syntax highlighting
  • Multi-window editor with many options
  • Project management and much more...

Operating Systems

  • PC 32-bit Windows

Added : 1999-07-06 Amended: 1999-07-06 Licensing : Freeware

Add a comment

DocClass - Generates class documentation from source files

Docclass is a simple C++ program which reads in C++ header files, and outputs documentation describing the class hierarchy, methods, inherited methods etc.

Docclass has a rather dumb parser, but it should cope with reasonably sane C++ class declarations. It understands comments, and tries to group the comments with the appropriate class or method.

Docclass does not require templates, or nested classes, as many people had C++ compilers which didn't support them. With any luck, it should understand them a little in the code it analyses, though.

Docclass is Copyright (c) Trumphurst Ltd. I have made it available on the Internet for personal use only. Please do not use it in a commercial situation (except for testing to see if it is suitable) without first obtaining permission (mail address below).

Operating Systems

  • PC DOS
  • Unix

Compilers

  • GCC
  • Borland C++
  • Zortech C++

Added : 1996-02-08 Amended: 1996-02-08 Licensing : Copyrighted freeware

Add a comment

D_Lib - C/C++ Debug Library

The D_Lib library provides a set of easy-to-use but powerful and easily configurable tools to perform a C++ programmer's daily debug as well as diagnostics needed by a system tester/maintainer. In fact the use of the D_Lib library gives very flexible debug printing with both compile-time and run-time management and also possibility to turn on/off (even run-time) some pieces of code without any recompilation. It is tested and used for several UNIX platforms as well as MS Windows NT/95.

Only requirement is a C++ compiler supporting templates.

Operating Systems

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

Compilers

  • Visual C++
  • GCC
  • Sun CC

Added : 1998-07-27 Amended: 1999-09-30 Licensing : Public Domain

Add a comment

Imagix 4D - Reverse engineering, metrics and documentation tool

Imagix 4D is a reverse-engineering, metrics and documentation tool for legacy C and complex C++ software, for developers who are part of a large project or who are inheriting code. Graphical displays from high level UML class diagrams to detailed function level flow charts provide accurate, focused visualization of the software. Imagix 4D also generates over 50 leading software metrics and source checks, and automatically generates comprehensive documentation in a number of formats, including HTML and RTF.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • SGI Irix
  • Sun
  • Solaris
  • HP UX

Added : 2002-07-19 Amended: 2002-07-19 Licensing : Commercial

Add a comment

LaKe - Make replacement

Yet another make replacement, but one that allows you to create your makefile in C++. A header and footer are added to it, and it's then compiled using your C++ compiler. Afther that it's run, and that's the point where your other sources are being compiled. Thanks to the lakeUsr extension library (which is included) many (possibly complex) compile commands can be given with just one simple function call.

Features of the lakeUsr library v0.2.0

  • compilation of sourcetrees
  • compilation of static libraries
  • installation of libraries and headers
  • cleaning
  • all you need is a compiler

Operating Systems

  • Linux

Compilers

  • GCC

Added : 2004-10-19 Amended: 2004-10-19 Licensing : Open Source

Add a comment

LEADTOOLS - Imaging C++ Class Libraries, APIs, ActiveX, and VCL

LEADTOOLS is a family of comprehensive toolkits designed to help programmers integrate raster, document, medical, multimedia and vector imaging into their applications quickly and easily. LEADTOOLS gives developers the most flexible and powerful imaging technology available offering imaging technology for scanning, color conversion, display/special effects, annotations, image processing, compression, image format import/export filters, Internet imaging, medical imaging, database imaging, printing, multimedia, Imaging Common Dialogs, OCR, FlashPix format, screen capture and more. The result of ten years of development, the toolkit literally puts millions of lines of code at the fingertips of application developers. Included with the toolkit is extensive sample source code for Visual Basic, C/C++, Visual C++ (MFC), C++ Builder, Visual J++, Visual FoxPro, Access, Delphi, and Visual Basic and JScript, and support for Visual Studio 6.0 database connectivity (Oracle, SQL, OLE DB, ODBC, and JET)

Operating Systems

  • PC Windows

Compilers

  • Visual C++
  • Borland C++

Added : 2000-07-28 Amended: 2000-07-28 Licensing : Commercial

Add a comment

MkHelp - Generate HTML documentation from source files

Pretty good beta level documentation generator.

Generates fully cross-referenced class descriptions from .i files output by your compiler's preprocessor. Can extract comments from the source code and include them in the documentation (comments have to be immediately before the class, variable or method).

Pretty configurable - can generate the files in any language, for instance.

Has a few problems with some apparently correct syntax, and does not document typedefs, enums or global variables.

Operating Systems

  • PC 32-bit Windows
  • Solaris

Compilers

  • Visual C++
  • Cfront
  • Borland C++

Added : 1996-08-02 Amended: 2000-08-18 Licensing : Non commercial

Add a comment

ModAssert - A library of ASSERT-like macros that can use rich booleans

In C and C++ the traditional assert function is used to tell the user that something unexpected happened, that might cause the program to fail. Macros were written to extend this mechanism, like ASSERT_EQUAL(a,b) to give a short explanation "lefthand is <9>, righthand is <10>". However, such a macros functionality can't be reused in any way if we want to have a similar VERIFY_EQUAL (which still evaluates its arguments in non-debug mode), or an ASSERT_EQUAL_MSG (to add a message).

The Modular Assert macros use Rich Booleans, to have a modular assertion framework where any type of ASSERT can be combined with any Rich Boolean or a simple boolean expression. This package has 16 different types of assertion macros (ASSERT, VERIFY, ASSERT_P, ...), which can be combined with any rich boolean to provide extra information (or a simple boolean expression). So one could write ASSERT(rbEQUAL(a,b)), VERIFY(rbLESS(foo(), 10)), etc. Furthermore, the macros allow an arbitray number of expressions to be evaluated and shown when an assertion fails. A level can be assigned to each assertion (Info, Debug, Error or Fatal). Assertions can be ignored per case, level or file.

They are released under the Boost License, which allows free use in any code. It was tested with Visual C++ and Gnu C++, but contains no platform or compiler specific code (except for the demo code), so it should be portable.

Operating Systems

  • Linux
  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC

Added : 2005-02-11 Amended: 2005-02-11 Licensing : Non commercial

Add a comment

ODB - object-relational mapping (ORM) for C++

ODB is a cross-database, compiler-based object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any mapping code.

The C++ code that performs the conversion between persistent classes and their database representation is automatically generated by the ODB compiler. The ODB compiler is a real C++ compiler except that instead of producing assembly or machine code, it generates portable C++ which can in turn be compiled by any C++ compiler.

ODB is not a framework. It does not dictate how you should write your application. Rather, it is designed to fit into your style and architecture by only handling C++ object persistence and not interfering with any other functionality.

GPL and commercial licenses available

Operating Systems

  • Linux
  • IBM AIX
  • Solaris
  • HP UX
  • PC Windows
  • Mac
  • FreeBSD
  • FreeBSD, Darwin

Compilers

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

Added : 2010-10-04 Amended: 2010-10-04 Licensing : GNU copyleft

Add a comment

OOFILE - OOFILE cross-platform c++ database, report-writer and GUI forms framework

C++ frameworks for developing cross-platform database applications with forms interface and report-writer. All OpenSource except professional database backends including c-tree Plus and dBase compatible.

Operating Systems

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

Compilers

  • Visual C++
  • GCC
  • MetroWerks CodeWarrior
  • Borland C++

Added : 2002-03-08 Amended: 2002-03-08 Licensing : Public Domain

Add a comment

OOLua - C++ and Lua binding

OOLua is a cross platform, test driven, dependancy free Open Source library which uses C++03 template meta-programming and pre-processor magic to generate non intrusive proxies that provide a fast binding for the interaction of C++ classes with Lua; in addition it also provides a thin abstraction layer for interfacing with the Lua stack. It supports multiple inheritance C++ classes without using C++ RTTI and does not use exceptions by default although they are easily enabled.

Operating Systems

  • Linux
  • Unix
  • PC Windows
  • Mac
  • BSD
  • could run on any OS, but not tested

Compilers

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

Added : 2010-01-02 Amended: 2013-11-27 Licensing : Open Source

Add a comment

President - Surveyor for multilanguage analysis/metrics/documentation

Surveyor reduces software development timelines and improves code quality by automating the process of understanding complex source code, streamlining the development cycle, and fostering collaboration between team members. Surveyor can automatically document code, be used as a basis for code audits/reviews, and immediately imparts understanding of interactions, relationships, and structure of open source or other externally produced code elements. Surveyor is available for C, C++ and 12 other languages. www.lexientcorp.com for free demo.

Operating Systems

  • PC DOS
  • Linux
  • PC 32-bit Windows
  • Sun
  • IBM AIX
  • Solaris
  • HP UX
  • Unix
  • X Windows
  • Dec Alpha
  • PC Windows
  • Unisys Unixware
  • NCR SVR4

Compilers

  • Visual C++
  • Sun CC
  • MetroWerks CodeWarrior
  • Symantec THINK C++
  • Borland C++
  • Watcom C++

Added : 2003-10-17 Amended: 2003-10-17 Licensing : Commercial

Add a comment

PVS-Studio - Static Code Analyzer for C/C++/C++11

PVS-Studio is a static analyzer that detects errors in source code of C/C++/C++11 applications. The PVS-Studio tool is intended for developers of contemporary applications and it integrates into the Visual Studio 2005/2008/2010 environment providing the programmer with a convenient user interface to analyze files, navigate through code and get reference information. You do not need to study documentation and settings preliminarily to work with the analyzer. The analyzer is ready to work right after it is installed.

Operating Systems

  • PC 32-bit Windows
  • PC Windows

Compilers

  • Visual C++

Added : 2012-03-15 Amended: 2012-03-15 Licensing : Commercial

Add a comment

QScimpl - Qt-based software for building GUI's for scientific applications

QScimpl -- Qt-based Scientific Modeling and Plotting Library

Based on the cross-platform C++ GUI toolkit developed by Trolltech AS, QScimpl (pronounced "Q-simple") is a scientific graphics package that provides additional functionality for the rapid development of GUI's for scientific codes that require interactive visualization of particle or field data.

Like Qt, QScimpl is readily extensible by developers.

QScimpl supports 3-D rendering with OpenGL or Mesa, as well as threaded operation; however, neither of these features are required.

QScimpl is distributed with many example executables. One of these, called "SciMovie", can animate a sequence of images in a variety of different formats.

Operating Systems

  • Linux
  • Solaris
  • PC Windows

Compilers

  • GCC
  • Borland C++

Added : 2002-03-08 Amended: 2002-03-08 Licensing : Non commercial

    QScimpl - Qt-based software for building GUI's for scientific applications
  • QScimpl Home Page
  • Submitted by:bruhwile@txcorp.com
Add a comment

Rich Booleans - A library to make powerful debugging libraries like ASSERT macros

The Rich Booleans framework is a set of macros that hold extra information if the condition fails, so a developer understands what goes wrong. They allow modularization of assertions and other constructs that check conditions, so on the one hand we can have different types of assertion macros (ASSERT, VERIFY, ASSERT_MSG, ...), and on the other hand macros that replace booleans in the assertion macros to provide extra information. So one could write ASSERT(rbEQUAL(a,b)), VERIFY(rbLESS(foo(), 10)), etc. These Rich Booleans can even be reused in other situations, like a TASSERT macro in a unit testing framework, or in contracts. The macros just have to know how to handle a rich boolean.

A number of interesting rich booleans are in this library, like rbEQUAL_STRING that shows where two strings are different (taking care of mismatches and insertions in an intelligent way), and similar ones for ranges of iterators and STL containers. They can be combined to make powerful checks, like checking whether the integer values in one vector are smaller than those in another vector, comparing two vectors of vectors, or combining rich booleans with logical operations.

They are released under the Boost License, which allows free use in any code. It was tested with Visual C++ and Gnu C++, but contains no platform or compiler specific code, so it should be portable.

Operating Systems

  • Linux
  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC

Added : 2005-02-11 Amended: 2005-02-11 Licensing : Non commercial

Add a comment

SNIP: A Programming Power-tool - SNIP takes in an IDL and uses it to create code according to code patterns

SNIP is a programming power-tool for generating code from rules, or "code patterns" (AKA idioms).

Sr. software engineers have often noticed patterns in their coding practices. SNIP allows those patterns to be captured and expressed in an executable template.

An IDL-like input form is used to define objects. That IDL is then applied to the template to create code that a user would normally have typed in by hand.

For more information, and an example, see the site that describes SNIP more fully at http://www.ultranet.com/~advsw

Operating Systems

  • PC 32-bit Windows
  • Sparc
  • Solaris
  • Motif

Compilers

  • Visual C++
  • GCC
  • Dec CC
  • SGI CC
  • CRI C++ (Cray)
  • IBM xlC
  • SGI NCC
  • Apogee CC
  • Cfront
  • MetroWerks CodeWarrior
  • Symantec THINK C++
  • Borland C++
  • Watcom C++
  • HP C++
  • IBM Cset++
  • Symantec C++
  • Zortech C++
  • Glockenspiel C++
  • MPW C++
  • Sparcworks

Added : 1997-03-19 Amended: 1997-03-19 Licensing : Commercial

Add a comment

SourcePublisher C++ - HTML Documentation generator

SourcePublisher generates detailed HTML automatic documentation about your K&R C, ANSI C or C++ source code. Detailed HTML output offers quick, intuitive browsing of the documention with links to the actual code. That code is syntax/keyword colorized and contains links back to the documentation.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix

Added : 2000-07-28 Amended: 2000-07-28 Licensing : Commercial

Add a comment

SourceStyler C++ - Advanced C/C++ Code Formatter

SourceStyler C++ is a tool for C++ developers that provides complete control over the formatting and layout of C++ source code.

SourceStyler C++ offers:

  • over 75 individual formatting options
  • 7 predefined formatting schemes
  • unlimited user-defined formatting schemes
  • complete support for ANSI C++
  • a convenient graphical interface
  • real time preview facilities
  • automated formatting on trigger events
  • a command line interface for use in scripts

Operating Systems

  • PC 32-bit Windows

Added : 2001-11-01 Amended: 2001-11-01 Licensing : Commercial

Add a comment

SWIG - Connects C/C++ programs with a variety of high-level programming languages

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of languages including common scripting languages such as Perl, PHP, Python, Tcl and Ruby. The list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Lua, Modula-3, OCAML, Octave and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG can also export its parse tree in the form of XML and Lisp s-expressions.

Added : 2008-07-29 Amended: 2008-07-29 Licensing : Non commercial

    SWIG - Connects C/C++ programs with a variety of high-level programming languages
  • WWW http://www.swig.org/
  • Submitted by:Andrew Marlow
Add a comment

The KDevelop-Project was raised in 1998 to build u - KDevelop multilingual IDE

The KDevelop-Project was raised in 1998 to build up an easy to use IDE (Integrated Development Environment) for KDE. Since then, the KDevelop IDE is publicly available under the GPL and supports many programming languages.

Operating Systems

  • Linux
  • Solaris
  • Unix

Compilers

  • GCC

Added : 2004-02-17 Amended: 2004-02-17 Licensing : GNU copyleft

    The KDevelop-Project was raised in 1998 to build u - KDevelop multilingual IDE
  • WWW http://www.kdevelop.org/
  • Submitted by:hattons@globalsymmetry.com
Add a comment

U++ framework - U++ framework

U++ is BSD licensed C++ cross-platform rapid application development framework focused on programmers productivity without sacrificing runtime performance. Based on strictly deterministic design it provides an alternative to GC collected platforms, even for bussiness logic oriented problems. U++ brings it's own integrated development environment (IDE), "TheIDE", with it and shows the following merits in particular: - The package contains everything one needs to build a program. - The installation is absolutely trouble-free. - The user interface is unconventional but - after getting used to it - very efficient. - The tool has been standing the test of time years of use in commercial applications development. - It is subject to the little restrictive BSD license. - It is free of charge. - There is an U++ forum which is perfect as regards organization, contents and look. - The very active community is extremely ready to help.

Operating Systems

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

Compilers

  • Visual C++
  • GCC

Added : 2009-05-15 Amended: 2009-05-15

Comment from : Nikki Locke on 2009-05-15

This is the correct name for the library previously listed as "Ultimate++ - GUI toolkit"

Add a comment


Understand for C++ - Reverse engineering, documentation and metrics tool

Understand for C++ is a reverse engineering, documentation and metrics tool for C and C++ source code. It offers code navigation using a detailed cross reference, a syntax colorizing "smart" editor, and a variety of graphical reverse engineering views. It includes a PERL and C API for writing custom documentation directly from source code.

Operating Systems

  • Linux
  • PC 32-bit Windows
  • Unix

Added : 2000-07-28 Amended: 2000-07-28 Licensing : Commercial

Add a comment

UquoniTest - A unit testing library for C++ - Unit testing framework integrating Rich Booleans and ModAssert libraries.

Some of the features provided are:
  • Assertions that can have Rich Booleans for the condition.
  • Reporting of assertions in domain code (if ModAssert is used).
  • Checking if the value of an expression is not changed by unit tests.
  • Orthodoxy testing for easily checking whether copy constructors, assignment operators and comparison operators work well.
  • Custom exception catchers give extra information if an exception specific to your codebase is thrown unexpectedly. Predefined for standard and MFC exceptions.
  • Parameterized and template tests let you reuse unit test code easily.
  • Abstract unit tests, to check whether classes derived from a common base class all satisfy the same requirements. Multiple levels of inheritance with tests on each level, and multiple inheritance are easy to do.
  • All testing is thread safe.
  • Unit tests are registered automatically.
  • Test wrappers, for all tests or just a test group.
  • Include and exclude test objects by name, level and or attribute; also using regular expressions.

The basics of UquoniTest are the same as well known open source unit testing frameworks like Unittest++. The manual is well written, with enough examples, and most skimmable so you easily find what you need.

UquoniTest has a lot more smaller features that add up to a great library to do unit testing in C++.

Operating Systems

  • Linux
  • PC 32-bit Windows

Compilers

  • Visual C++
  • GCC
  • Visual C++ 6

Added : 2013-11-27 Amended: 2013-11-27 Licensing : Commercial

    UquoniTest - A unit testing library for C++ - Unit testing framework integrating Rich Booleans and ModAssert libraries.
  • Author's E-mail
  • UquoniTest Home Page
  • Author:Mark Van Peteghem
  • Submitted by:Yordan Naydenov
Add a comment

VCF - Visual Component Framework

A C++ framework that was created to provide a simple to use cross platform GUI framework, with many of the advanced design features of Java and Java's Swing, and Borland's Visual Component Library. In addition, the VCF provides advanced RTTI/Introspection features common in languages like Object Pascal, Objective C, Smalltalk, and Java, but not typically found in C++. The framework is divided into three main sections: FoundationKit, ApplicationKit, and GraphicsKit, in addition there are now two additional kits, the Network kit and the Remote Object Kit.

The FoundationKit provides all of the base classes for the rest of the Framework, as well as support for RTTI/Introspection, events, event listeners, properties, and basic streaming capabilities. The VCF makes use of C++'s Standard Template Library for it's collection classes, and has a number of template based classes to support the Frameworks RTTI/Introspection design. The VCF also makes use of C++ exception handling, multiple inheritance, and C++ namespaces, so compiler's that don't support these features may have problems getting the FoundationKit (and any of the other kits) to compile. The GraphicsKit provides a core set of easy to use 2D graphics classes, modeled heavily after the design of Java's Graphics2D architecture. This include support for 32bit color images, alpha channels, anti-aliased graphics primitives, basic matrix transforms, filters, image loaders, kernels, and easy to extend path classes. Image manipulation is allowed at the bit level for those who like to bit-twiddle, but higher level functions are/will be provided.

The ApplicationKit provides the classes used in the GUI portion of the Framework. This includes basics like windows, components, standard widgets (combo boxes, listboxes, trees, etc ), common dialogs, a basic layout manager, drag-and-drop, and standard windowing events. A simplified use of Model-View-Control design has been applied (sometimes referred to as UI delegate, where the Controller and View are combined ), similar to the way Java's Swing was designed. In addition it will also provide core services to extend the component framework with custom 3rd party libraries (DLL's or SO's) housing components that can be plugged into a the VCFBuilder tool, similar to Java Beans, or Borland's C++ Builder packages. The VCFBuilder is a simplified version of the C++ Builder IDE, something that can allow developer's to design their GUI's in real time, with out having to waste time writing code, and extend their set of components through 3rd party libraries.

Operating Systems

  • PC 32-bit Windows

Compilers

  • Visual C++ 6

Added : 2002-07-24 Amended: 2002-07-24 Licensing : Open Source

Add a comment

Visual Programming Armoury - Visual Programming Armoury for C++ and Java

Visual Programming Armoury is an IDE for C++ and Java. It implements a concept of multidimensional desktop. The ergonomics of VPA helps you maintain large projects. There are 3 frameworks: C++, Persistence Smith and Java. All of them are compiler-independent structured processors of source code. C++ framework includes a designer of event-driven composite GUI and a resource editor. Persistence Smith framework is built upon the object-relational layer which allows you to interact with business objects instead of going directly to RDBMS. An extended semantics of C++ provides full-featured capability to program a back-end's logic: queries and updates are issued against the object model instead of the storage one. Diagrams of persistent class helps you design applied object model. Thus a system that uses relational database is engineered in terms of object-oriented methodology. All of your code is completely portable between variety of database products. The set of class libraries formalize GUI up to high-level primitives which query, retrieve, navigate, edit data, aid input, do printing job. Java framework supports class diagrams and reverse engineering of source code.

Added : 1998-12-03 Amended: 1999-06-09 Licensing : Freeware

Add a comment

WebDocs - C++ source code HTML docs application

C++ WebDocs generates online documentation in an HTML format from source code. Make your own HTML templates and formatting for the documentation. Imports header files and facilitates documenting objects, methods, and members. Special requirements: Microsoft Internet Explorer 4.0 or above.

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

Add a comment

Weblet Application Server - Weblet Platform - Application Server for C/C++

A high performance C++ development environment offering:
  • Dynamic resource generation
  • Weblet Server Pages - Template based dynamic resource generation
  • Resource level Callback handling
  • Data Streaming, Event Publishing, and Server Push
This package includes:
  • Weblet and Weblet Server Pages libraries
  • Weblet and Weblet Server Pages engines
  • WSP Bean Library
  • WSP Bean Viewer
  • Open source Webserver (based on Apache1.3) Ideal environment for C/C++ legacy systems to Web scenarios.

    Ideal tool to develop and deploy high performance Web applications.

    It supports Data Streaming and Publish Subscribe applications.

    It is offered as a solution package.

    The url for this package (www.webletworks.com seems to have been taken over by someone else. If anyone knows where the library can be found, please let me know.

    Operating Systems

    • Linux
    • IBM AIX
    • Solaris

    Compilers

    • GCC

    Added : 2002-05-23 Amended: 2008-12-19 Licensing : Not known

    Add a comment

    XmlPlus xsd2cpp - C++ Data Binding for W3C XML Schema

    XmlPlus xsd2cpp provides "simple to use" C++ data-bindings for XML-Schema. The xsd2cpp binary when invoked on a XML-Schema file, generates:
    • the C++ sources/headers for the supplied XML-Schema
    • a main.cpp template, to demonstrate how generated sources can be consumed
    • the automake/autoconf files for building the generated source
    The generated C++ sources serves for:
    • C++ data-binding for XML-schema
    • C++ validating-parser/writer for xml-files constrained by the supplied XML-schema
    Currently Supported Platforms(OS):
    • Linux : Ubuntu, Fedora, Redhat and other flavours of Linux
    • Mac OS X
    Currently Supported Encodings:
    • ASCII
    • UTF-8
    • ISO-8859-1

    Operating Systems

    • Linux
    • Mac

    Compilers

    • GCC

    Added : 2010-10-29 Amended: 2010-10-29 Licensing : Open Source

    Add a comment

    XSD - XML Schema to C++ Data Binding Generator

    Given an XML instance description (XML Schema), XSD generates C++ classes that represent the given vocabulary as well as parsing and serialization code. Compared to APIs such as DOM and SAX, the generated code allows you to access the information in XML instance documents using your domain vocabulary instead of generic elements, attributes, and text. Static typing helps catch errors at compile-time rather than at run-time. XSD supports two C++ mappings: in-memory C++/Tree and event-driven C++/Parser.

    The C++/Tree mapping provides C++ classes that represent data types defined in XML Schema, a set of parsing functions that convert XML instance documents to a tree-like in-memory data structure, and a set of serialization functions that convert the in-memory representation back to XML.

    The C++/Parser mapping provides parser templates for data types defined in XML Schema. Using these parser templates you can build your own in-memory representations or perform immediate processing of XML instance documents.

    GPL and Commercial licenses available

    Operating Systems

    • Linux
    • Solaris
    • HP UX
    • PC Windows
    • Mac

    Compilers

    • Visual C++
    • GCC
    • Sun CC
    • HP C++
    • Intel C++

    Added : 2006-03-14 Amended: 2006-03-14 Licensing : GNU copyleft

    Add a comment

    Libraries with no known download site

    Algebra - Collection of C++ classes to represent and edit equations in a GUI

    Object classes to represent/edit algebric equations in Windows: number, literal, boolean, + and - infinite, indeterminations group, document, line, page, list, sum, negation, division,multiplication, root, raise, equal, lessThan, lessThanOrEqual etc..., equivalent, implication. Implementing: log,exp,sin,cos,tg,cotg,cos,asin,acos,atg, logic operators, etc...

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Borland C++

    Added : 1996-03-28 Amended: 1996-10-03 Licensing : Non commercial

    Add a comment

    DCE++ - A C++ API for Programming Distributed Systems

    DCE++ is a set of ANSI C++ classes that enable the rapid prototyping of distributed programs. The goal of DCE++ is to provide a platform independent C++ API to the significant components used in distributed computing. Namely: RPC, threads, Security and Naming across the widely used distributed computing platforms such as DCE, ONC and WNT.

    It is expected that by encapsulating platform dependencies inherent in setting up rpcs, security etc. in DCE++ base classes, program development time can be drastically reduced. Moreover, a foundation can be provided for developing *portable* distributed program development tools.

    The second *evaluation* version of DCE++, version 0.4, has been released on Dec 2'93. The release includes C++ bindings for remote procedure calls over DCE and ONC. A C++ threads api for programming DCE threads. A C++ threads api for programming DCE distributed Time Service. The release is available free of charge upon signing a very liberal license agreement.

    The license agreement is obtainable by anonymous ftp from hal.com. It is in the directory dce++. The same directory also contains the release notes for the 0.4 version and plans for 0.5 features. To obtain the code, please send the signed license agreement to:

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Copyright (other)

    Add a comment

    Dr. - Vector Graphics Framework in C++

    A cross-platform (Linux, Win32, Mac OX X, FreeBSD, Linux and IRIX) open source C++ framework for 2D and 3D vector graphics that includes 2D curves, a 2D font engine, bitmap vectorizer, tessellator, and an OpenGL extensions manager.

    Operating Systems

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

    Compilers

    • Visual C++
    • GCC

    Added : 2005-09-16 Amended: 2005-09-16 Licensing : Not known

    Add a comment

    General complex C++ matrix library

    This library contains about 90 functions ranging from summation and multiplication to Jacobi transforms and LUP algorithms for a general complex matrix class in c++... Roots of polynoms, operator overloads, discrete fourier transforms, vectors, scalars, GaussJordan algorithm with partial pivoting, elementary row operations, inverse, determinants using partial LUP factorizing, similarity transforms, eigenvalues (LR algorithm on hessenberg matrices), eigenvectors using itertations or Jacobi transforms, reductions to echelon or hessenberg forms, various matrix type checks (hermitian/diagonal/orthogonal etc.), fast data access if no inheritance etc. etc. Also contains some often used routines to interpolate data or to do polynomial least square fitting.

    Operating Systems

    • PC DOS
    • PC 32-bit Windows
    • PC Windows
    • Any after making small changes...

    Compilers

    • Borland C++
    • Any after making small changes...

    Added : 2001-06-13 Amended: 2004-10-25 Licensing : Education

    Add a comment

    General complex matrix library for C++

    This library contains about 90 functions ranging from summation and multiplication to Jacobi transforms and LUP algorithms for a general complex matrix class in c++... Roots of polynoms, operator overloads, discrete fourier transforms, vectors, scalars, GaussJordan algorithm with partial pivoting, elementary row operations, inverse, determinants using partial LUP factorizing, similarity transforms, eigenvalues (LR algorithm on hessenberg matrices), eigenvectors using itertations or Jacobi transforms, reductions to echelon or hessenberg forms, various matrix type checks (hermitian/diagonal/orthogonal etc.), fast data access if no inheritance etc. etc.

    Operating Systems

    • PC DOS
    • PC Windows

    Compilers

    • Visual C++
    • Borland C++
    • Zortech C++

    Added : 1999-08-10 Amended: 1999-08-10 Licensing : Education

    Add a comment

    GenTools - A Computational Genomic Tool Suite

    The University of Texas System CHPC and collaborators are addressing the problems of high performance platforms by developing GenTools, an interactive, distributed, loosely integrated, set of tools for DNA and protein sequence data analysis, phylogenetic analysis, and restriction mapping which combines different algorithm implementations, machines, and databases through a "bio-user" friendly set of graphical user interfaces.

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

      GenTools - A Computational Genomic Tool Suite
    • Email:sarah@chpc.utexas.edu
    • Tel:(512)471-2434
    • Postal address:Sarah Barron, GenTools Project Leader, Computational Molecular Biology and Genetics Group, University of Texas System Center for High Performance Computing, Balcones Research Center, CMS 1.154, 10100 Burnet Road, Austin, TX 78758-4497
    • Fax:(512)471-2445
    Add a comment

    IPL98 - Image Processing Library 98

    The Image Processing Library 98 (IPL98) is a platform independent image manipulating C/C++ library. The purpose of the library is to be useful, for combining tailor-made image processing and interpretation with standard methods for acquisitions, processing, display and storage of image information. Emphasis is put on interactivity in projects made by students, as well as for advanced research and development.

    Operating Systems

    • Linux
    • Unix
    • PC Windows

    Compilers

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

    Added : 2001-05-25 Amended: 2001-05-25 Licensing : Non commercial

    Add a comment

    MenuPlus - Menu class library for Turbo C++ for DOS

    The library contains functions that allow the programmer to easily implement custom popup, pulldown, and buttonbar menus. The menus are designed to have the look and feel of familiar menu systems found in many popular applications. MenuPlus provides all screen, keyboard, and mouse functionalilty built in. Simply declare a menu object (menu item names, hotkeys, and handler functions) and MenuPlus does the rest. MenuPlus is designed to be simple to use, yet versatile enough to allow customized look and operations of the menus. (Includes demos illustrating use.)

    Registration of $15 grants royalty-free use of the library and also provides registered owner with all source code.

    Operating Systems

    • PC DOS

    Compilers

    • Borland C++

    Added : 1996-11-13 Amended: 1996-11-13 Licensing : Shareware

      MenuPlus - Menu class library for Turbo C++ for DOS
    • Email:jssoft@aol.com
    • Postal address:JS Software,517 Ingram Drive West,Eau Claire, WI 54701
    • Author:Jeffrey Schierenbeck
    Add a comment

    OptSolve++ - Nonlinear optimization

    OptSolve++ -- Software Components for Nonlinear Optimization.

    The OptSolve++ optimization libraries provide a convenient and extensible interface for rapid nonlinear optimization of user-specified functions. OptSolve++ is available through the purchase of a commercial license.

    The following nonlinear optimization algorithms: -nonlinear simplex (no derivatives required) -Powell (no derivatives required) -conjugate gradient (requires gradient of the function) -Levenburg-Marquardt (can use Broyden's method to estimate the Jacobian if function gradients are not available) -simple bound constraints can be imposed through a variable transformation approach.

    Algorithms under development for the next release: -penalty functions to treat arbitrary nonlinear constraints -multidimensional nonlinear solvers (for root-finding)

    OptSolve++ consists of the following components: -TxBase; reference counted N-D container classes, trait and attribute classes, exception classes, and cross-platform header files -TxFunc; 1-D and N-D functor classes providing wrappers for C++ function pointers or general user-specified calls to other -TxLin; reference counted matrix and vector classes, with all linear algebra algorithms required by the optimization algorithms, and specialized functor classes that require linear algebra capabilities. -TxOptSlv; implementation of 1-D and N-D nonlinear optimization algorithms.

    Operating Systems

    • Linux
    • PC 32-bit Windows
    • SGI Irix
    • Cray
    • IBM AIX
    • Solaris
    • HP UX
    • Unix
    • Dec Alpha
    • PC Windows
    • Mac
    • Dec OSF/1

    Compilers

    • Visual C++
    • GCC
    • Dec CC
    • SGI CC
    • Sun CC
    • MetroWerks CodeWarrior
    • Borland C++
    • HP C++
    • KAI C++

    Added : 2000-04-26 Amended: 2004-10-22 Licensing : Commercial

    Add a comment

    Source code from books

    Bruce Eckel - Thinking in C++

    You can find all the source code from Bruce Eckel's books on the web site below, as well as the evolving 2nd edition of the entire text of "Thinking in C++".

    Operating Systems

    • PC DOS
    • PC Windows

    Added : 1995-01-01 Amended: 1998-12-03 Licensing : Copyrighted freeware

    Add a comment

    C++ Solutions - David Vandevoorde

    Source code of the exercises provided by "C++ Solutions: Companion to the C++ Programming Language, Third Edition" by David Vandevoorde, Addison-Wesley Professional, 1998, ISBN 0-201-30965-3.

    Added : 2013-11-28 Amended: 2013-11-28 Licensing : Freeware

    Add a comment

    C++ Templates: The Complete Guide - Complete reference and tutorial to the C++03 templates.

    Code examples to "C++ Templates: The Complete Guide" by David Vandevoorde and Nicolai Josuttis, Addison-Wesley, 2002, ISBN 0-201-73484-2.

    Compilers

    • Any standard C++ compiler

    Added : 2013-11-27 Amended: 2013-11-27 Licensing : Copyright (other)

    Add a comment

    Coplien - Advanced C++ Programming Styles and Idioms

    Code from "Advanced C++ Programming Styles and Idioms" by James O. Coplien, Addison-Wesley, 1992, ISBN

    Added : 1995-01-01 Amended: 2000-09-18 Licensing : Not known

    Comment from : Mark Txx on 2010-02-25

    new URL for code http://netlib.sandia.gov/c++/idioms/index.html

    Add a comment


    Hansen - C++ Answers book

    Code from "The C++ Answer Book" by Tony L. Hansen , Addison-Wesley, 1990, ISBN 0-302-11497-6

    Added : 1995-01-01 Amended: 2000-09-18 Licensing : Not known

    Add a comment

    Memory as a Programming Concept in C and C++ - Frantisek Franek

    C/C++ code from "Memory as a Programming Concept in C and C++" by Frantisek Franek, Cambridge University Press, 2004, ISBN 0-521-52043-6.

    Added : 2013-11-28 Amended: 2013-11-28 Licensing : N/A

    Add a comment

    Real-Time C++ - Christopher M. Kormanyos

    The companion code for the book "Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming" by Christopher Michael Kormanyos, Springer, Heidelberg, 2013, ISBN 3-642-34687-1.

    Compilers

    • Any standard C++ compiler

    Added : 2013-11-27 Amended: 2013-11-27 Licensing : Boost

      Real-Time C++ - Christopher M. Kormanyos
    • Author's E-mail
    • Source Code
    • Author:Christopher Michael Kormanyos
    • Submitted by:Yordan Naydenov
    Add a comment

    Smith - Object Oriented Software in C++

    Source to the Book by Michael A. Smith "Object-Oriented Software in C++", Chapman & Hall, London. 1993. ISBN 0 412 55380 5.

    Added : 1995-01-01 Amended: 1996-02-09 Licensing : Not known

    Add a comment

    Standard C++ IOStreams and Locales - Angelika Langer & Klaus Kreft

    Example source code from "Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference" by Angelika Langer and Klaus Kreft, Addison-Wesley, 2000, ISBN 0-201-18395-1.

    Compilers

    • Visual C++ .NET

    Added : 2013-11-28 Amended: 2013-11-28 Licensing : Non commercial

      Standard C++ IOStreams and Locales - Angelika Langer & Klaus Kreft
    • Source Code
    • Author:Angelika Langer
    • Author:Klaus Kreft
    • Submitted by:Yordan Naydenov
    Add a comment

    The Boost C++ Libraries - Boris Schäling

    More than 250 examples from "The Boost C++ Libraries" by Boris Schäling, XML Press, 2011, ISBN 0-9822191-9-9.

    Compilers

    • Any standard C++ compiler

    Added : 2013-11-27 Amended: 2013-11-27 Licensing : Copyrighted freeware

    Add a comment

    The C++ Standard Library: A Tutorial and Reference - Nicolai Josuttis

    Program examples from "The C++ Standard Library: A Tutorial and Reference, 2nd Edn." by Nicolai Josuttis, Addison Wesley Longman, 2012, ISBN 0-321-62321-5.

    Compilers

    • Any standard C++ compiler

    Added : 2013-11-28 Amended: 2013-11-28 Licensing : Copyright (other)

      The C++ Standard Library: A Tutorial and Reference - Nicolai Josuttis
    • Feedback E-mail
    • Source Code
    • Author:Nicolai M. Josuttis
    • Submitted by:Yordan Naydenov
    Add a comment

    The C++ Standard Library: A Tutorial and Reference - Nicolai Josuttis

    Program examples from "The C++ Standard Library: A Tutorial and Reference, 2nd Edn." by Nicolai Josuttis, Addison Wesley Longman, 2012, ISBN 0-321-62321-5.

    Compilers

    • Any standard C++ compiler

    Added : 2013-11-28 Amended: 2013-11-28 Licensing : Copyright (other)

      The C++ Standard Library: A Tutorial and Reference - Nicolai Josuttis
    • Feedback E-mail
    • Source Code
    • Author:Nicolai M. Josuttis
    • Submitted by:Yordan Naydenov
    Add a comment

    Other places to look for details of C++ libraries

    ASSET

    ASSET is currently populating a library of reusable components and systems, and documents on software reuse, called the Worldwide Software Reuse Discovery library (WSRD, pronounced "wizard"). Included are assets in numerous languages including C++, C, and Ada.

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

      ASSET
    • Email:info@source.asset.com
    • Email:theeke@source.asset.com
    • Tel:(304) 284-9000
    • Tel:(304) 284-9000
    • WWW http://source.asset.com/
    • Postal address:Supplying products & advertisements: ASSET Attn: Patrick A. Theeke P.O. Box 3305 1350 Earl L. Core Rd. Morgantown, WV 26505
    • Postal address:Obtaining an ASSET account or accessing the WSRD library: ASSET Attn: Account Administrator P.O. Box 3305 1350 Earl L. Core Rd. Morgantown, WV 26505

    Comment from : Mat Kramer on 2009-06-08

    Looks like the ASSET web site lost its domain.

    Add a comment


    comp.object FAQ

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Add a comment

    comp.windows.misc - Portable GUI-software FAQ

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Add a comment

    eg3.com - Electronic design website

    eg3.com covers all major keywords in the board-level, embedded, realtime, smart (internet-enabling) and mcu/mpu markets. This website serves as an online software tool of browsable and searchable links to compactpci, pc/104, motorola's 68K, java for embedded systems, embedded x86, assembly - anything and everything on the Internet of interest to practical design. eg3.com is your "window on the electronic design world."

    Added : 1999-08-10 Amended: 1999-08-10 Licensing : N/A

    Add a comment

    ftp.th.darmstadt.de

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Add a comment

    Moderator - Boost - user extensions to the C++ Standard Library

    The Boost.org web site provides a repository for free C++ libraries. The emphasis is on libraries which work well with the C++ Standard Library.

    A mailing list supports peer review and related discussions about the libraries.

    Operating Systems

    • Cross platform, should work on any.

    Compilers

    • Any standard C++ compiler

    Added : 2000-04-26 Amended: 2000-04-26 Licensing : Copyrighted freeware

    Add a comment

    numcomp-free-c.gz

    The index of resources for numerical computation in C or C++.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Comment from : KIM on 2010-01-26

    A good numerical computation tool for me,thx.

    Add a comment


    Useful web and ftp sites

    C++ tutorials, tips, and tools - C++ tutorials, tips, and tools that can help programmers learn C++ from scratch

    Blog entitled "Comprehensive Guide to Learning C++ from Basics to Advanced"

    Added : 2016-07-13 Amended: 2016-07-13 Licensing : Education

    Add a comment

    Current CUG Library Catalog

    The CUG CD-ROM file listing offers the most comprehensive look at the programming tools and utilities available from CUG. The complete annotated listing (about 1 megabyte) is available through anonymous ftp as follows:

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

    Add a comment

    ftp.luth.se

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Comment from : F. Beekhof on 2008-09-10

    link dead

    Add a comment


    ftp.th.darmstadt.de

    A major repository of C++ stuff, mostly under the directory tree starting at /pub/programming/languages/C++. Includes a product list (from which some of the information in this document was taken) in various formats in sub-directory c++-products.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Add a comment

    FTP/Mail gateways - Obtaining FTP files via email

    If you don't have ftp access, send email to ftpmail@decwrl.dec.com saying "help". You will get instructions on how to do ftp via email.

    European users might like to try ftpmail@grasp.insa-lyon.fr instead.

    Added : 1995-01-01 Amended: 1996-03-28 Licensing : N/A

    Add a comment

    Netlib

    • research.att.com has email, ftp
    • ornl.gov has email, xnetlib
    • nac.no has email, xnetlib for Europe
    • unix.hensa.ac.uk is a mail server useful for Europe.
    • ci.cs.uow.edu.au (130.130.64.3) in Australia
    E.g. send email to netlib@ornl.gov to access by email. This is a mail server. Send mail with the text "send index" or "send index from C++"

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Add a comment

    Planet Source Code - Web site for C and C++ source code

    Award winning site with over 12,000 lines of C and C++ code. Code ranges from one-line snippets to complete programs. Includes a coding contest, hall of fame and a large Visual Basic and Java 'world'.

    Added : 1999-11-01 Amended: 1999-11-01 Licensing : N/A

    Add a comment

    Simtel

    The primary Simtel site is simtel.net, but there are many mirror sites all over the world.

    Added : 1995-01-01 Amended: 1996-03-28 Licensing : N/A

    Add a comment

    Source code newsgroups

    ftp.uu.net (e.g. usenet/comp.sources.reviewed archives the comp.sources.reviewed newsgroup).

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : N/A

    Add a comment

    The C++ Programming Language, exercise solutions - Personal solutions to the exercises proposed in The C++ Programming Language 3th

    Personal solutions to the exercises proposed in "The C++ Programming Language" 3ed. by Stroustrup,

    Operating Systems

    • All platforms that support ANSI C++ and PThreads

    Compilers

    • Any standard C++ compiler

    Added : 2013-01-15 Amended: 2013-01-15 Licensing : Open Source

      The C++ Programming Language, exercise solutions - Personal solutions to the exercises proposed in The C++ Programming Language 3th
    • Link to the browsable source code
    • Submitted by:Luca Risolia
    Add a comment

    Commercial libraries (A-N)

    Aspect

    This is a C library, though they're type safe for C++ compatibility. A GUI builder is provided with the library. They're coming out with a C++ class library soon.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Aspect
    • Tel:(719)527-9700
    • Postal address:OPEN Inc., 655 Southpointe Court, Suite 200, Colorado Springs, CO 80906
    • Fax:(719)576-3835
    Add a comment

    BitLevelGPS - Global Positioning System Library - A Source code Library to decode NMEA-0183 GPS receiver navigation data

    BitLevelGPS software library provides a PC-based user application with access to a NMEA-183 compliant GPS receiver via a serial communications port. It provides navigational data update once per second, decoding NMEA sentences: $GPGGA (Global Positioning System Fix Data), $GPGSA (DOP and Active Satellites), $GPGSV (Satellites in View), $GPGLL (Geographic position), $GPRMC (Recommended Minimum Specific GNSS Data) and $GPVTG (Course over Ground and Ground Speed). Decoded parameters include: UTC time, date, position (lattitude, longitude), altitude, speed, course, heading and information about visible satellites. Applications include Navigation, Security, Telematics, Fleet Tracking and Asset Tracking. The library provides an interface over serial ports COM1 - COM8.

    Free demo available: http://www.bitleveltechnology.com/blgps.htm

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Visual C++

    Added : 2003-05-13 Amended: 2003-05-13 Licensing : Demo

    Add a comment

    BitLevelSMS - Short Message Serives (SMS) Library - Send/Receive SMS (via serial port) for GSM phones (Siemens,Nokia,others)

    BitLevelSMS software library provides a PC-based user application with access to a mobile phone's Short Message Service (SMS) functionality over serial port, according to ETSI standards: GSM 07.05 (ETS 300 585) "Use of Data Terminal Equipment - Data Circuit terminating; Equipment (DTE - DCE) interface for Short Message Service (SMS) and Cell Broadcast Service (CBS)" and GSM 03.40. "Technical Realization of Short Message Service - Point-to-Point".

    BitLevelSMS allows the user to: send and receive SMS messages in PDU mode on many GSM mobile phones, including Siemens C35, S25, ME45, Nokia 6610 and others. Interfaces to serial ports COM1-COM8. Supports SEND - RECEIVE - DELETE functions. Decodes sender number and service centre timestamp.

    Free demo available: http://www.bitleveltechnology.com/blsms.htm

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Visual C++

    Added : 2003-05-13 Amended: 2003-05-13 Licensing : Demo

    Add a comment

    BitLevelTrace - Protocol Decoding C Library - Trace Protocols: Q.931, LAPD (Q.921), LAPF (Q.922), X.25, 802.3, IP Protocols

    BitLevelTrace software library (with full C source code) allows a calling user application to convert raw communication protocol data into a fully decoded readable trace text. Decoded protocols include LAPD (Q.921), LAPF (Q.922), ISDN call control (Q.931), X.25, 802.3 Ethernet and IP (IP, TCP, UDP, ICMP). Also decodes nested protocols: X.25 over LAPF; Q.931 over LAPD; TCP, UDP & ICMP over IP over 802.3 Ethernet. Supports different trace levels: (Basic Trace, Detailed Trace, Hex Dump). BitLevelTrace library API functions take raw binary communication data as parameters and perform protocol decoding and conversion into a readable ASCII trace text, according to specified trace level. The resulting ASCII trace text is copied to a different buffer, supplied with the function call. Benefits: Facilitates the development of trace related features; Shortens time-to-market of your product; Frees-up development resources from tedious coding and allows their re-direction to core development; flexible, portable architecture, easy integration into PC based or embedded environment

    Free demo available: http://www.bitleveltechnology.com/bltrc.htm

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Visual C++

    Added : 2003-05-13 Amended: 2003-05-13 Licensing : Demo

    Add a comment

    Booch Components

    Rational markets the C++ Booch objects which are a somewhat bizarre, but possibly quite innovative, set of library objects.

    It appears quite complete (unless you have some specific, uncommon needs); Booch may have an edge in supporting concurrency. USL may have more installations and greater maturity.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Booch Components
    • Tel:408-496-3700
    Add a comment

    C++ Data Object Library - Data structures combined with automatic persistence

    C++ Data Object Library has a wide variety of data structures combined with automatic persistence (storage to disk). In many applications, using the library is like building your own OO database. The emphasis is on high performance and protection against allocation and pointer errors. The library can help practically any C++ project, but is especially useful for large and complex software projects designs such as VLSI CAD.

    Uses a code generator. Data relations are represented as objects. Protection against pointer errors is achieved by using rings instead of NULL ending lists. Smart iterators permit to delete objects while travering lists. Several methods of storing data to disk, including memory blasting (storing entire pages of memory). Portable programs and data, schema migration. Data organizations: lists, collections, aggregates, trees, graphs, dynamic arrays, hash tables, pointer links, reference counting, many-to-many relation, dynamic properties (like in LISP), virtual (disk access is if a large array), run-time access to type tables.

    The library is build on ideas described in "Taming C++: Pattern Classes and Persistence for Large Projects", by Jiri Soukup, Addison-Wesley 1994. Sells in full source, and runs with all major compilers. A C version with similar features but with a less elegant interface is also available.

    No licence restrictions and no marketing tricks. You can ship the source of the library with your programs, except for the code generator. A complete regression test, documentation and support comes with the basic price. We are one of the oldest class libraries in business, and we stand behind our software. Prices in US$: $299 DOS,WINDOWS, or MAC $599 UNIX workstations Postage included in North America, $25 for overseas.

    Operating Systems

    • OS/2
    • Unix
    • PC Windows
    • Mac

    Compilers

    • Visual C++
    • GCC
    • Dec CC
    • Sun CC
    • Cfront
    • Borland C++
    • Watcom C++
    • HP C++
    • Zortech C++

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      C++ Data Object Library - Data structures combined with automatic persistence
    • Email:jiri@debra.dgbt.doc.ca
    • Tel:613-838-4829
    • Postal address:Code Farms Inc 7214 Jock Trail, Richmond, Ont., K0A 2Z0, Canada
    • Fax:613-838-3316
    Add a comment

    C++ Database & Spreadsheet Engine Toolkit - A comprehensive C++ Business/ Database Application development toolkit.

    BASE SDK is a comprehensive C++ Software/ Application development toolkit for rapidly and efficiently developing "Industiral Strength" Business/ERP/Database Software. This toolkit includes Database engine, Spreadsheet Engine, User interface engine, Expression Evaluator, Webserver, and more.

    Operating Systems

    • Platform-independent

    Compilers

    • Visual C++

    Added : 2008-12-29 Amended: 2008-12-29

      C++ Database & Spreadsheet Engine Toolkit - A comprehensive C++ Business/ Database Application development toolkit.
    • Home Page
    • Submitted by:Sumeet
    Add a comment

    C++ Toolkit - ANSI/ISO compliant cross-platform toolkit

    C++ Toolkit is an ANSI/ISO compliant cross-platform toolkit that includes:

    Database Toolkit

    The C++ Database Toolkit is a full object-oriented, cross-platform C++ solution for programmatic access to a wide range of ODBC-compliant databases.
    • Reduces the need to have multiple ODBC drivers for different databases installed on the client machines.
    • Reduces software configuration complexity because you are only required to configure and maintain your ODBC drivers in one location at the server.
    • Easy to understand C++ API that abstracts away low-level complexity, allowing for fast project ramp-up.
    • Powerful built-in C++ streaming capabilities that allow client/server interaction across multiple platforms, without the need for any vendor specific code on the client side.
    The C++ Database Toolkit is comprised of a client and server. The server makes use of the native operating system's ODBC environment to respond to the requests of various database clients. The client exposes APIs to database applications that are then portable to a wide variety of platforms.

    STL Toolkit

    STL Toolkit is a portable, high-performance implementation of the most useful portions of the ANSI/ISO Standard C++ Library. The STL Toolkit offers the following:
    • Containers - Generalized classes used to hold collections of typed objects
    • Iterators - Generalized pointers used to traverse the elements of a container
    • Algorithms - Procedures that can be applied to all or part of a container
    • String - A complete implementation of the ANSI/ISO string specification
    • Exceptions - The ANSI/ISO standard exception hierarchy.

    ETL Toolkit

    ETL Toolkit contains a unique set of collections packaged to enhance the STL. It includes Sorted Vector, Dynamic Array, Hash Table, Heap as well as List, Stack, Queue, and Set structures.
    • Sorted Vector – A dynamic array that automatically sorts itself so access is done via fast binary search with lowest access time
    • Dynamic Array – Allows writing numeric array operations without loops via operator overloading, simplifying coding by reducing code size
    • Hash Table – A complete hash table which comes with its own iterator
    • Heap – Fast, full-featured implementation of the priority queue abstract data structure which utilizes dynamic arrays
    • List, Stack, Queue, Set – These structures are implemented using a singly-linked circular list, which provides a constant time for insert/ removal operations at both ends of the list.

    Foundations Toolkit

    The Foundations Toolkit consists of three class libraries: Thread, Helper, and Time. You can install and use any combination of these three libraries independent from one another provided you have some version of the ANSI/ISO C++ Standard Library.
    • Thread Library - A C++ class library for writing portable, multithreaded applications. Supports advanced synchronization concepts, including critical sections, semaphores, barriers, monitors, and automatic change-notifying sentinels.
    • Helper Library - Non-intrusive generic extensions to the Standard C++ Library, including generic regular expression algorithms, STL helper functions, and substring support.
    • Time Library - A set of 64-bit time and date classes that support dates up to A.D. 32,766 and model time, date, time period, time zone and stopwatch.

    Communications Toolkit

    • Streaming Library - A high-performance implementation of the Universal Streaming Service, non-intrusive solution for persisting objects across heterogeneous networks s
    • Network Library - A complete set of object-oriented classes for TCP/IP-based socket programming. Also includes portable interfaces for network information services and I/O multiplexing
    • Pipe Library - A portable interface for pipe communication, a popular protocol on Microsoft Windows-based operating systems
    • File Library - The most complete class library for platform-independent manipulation of files, paths, directories, and record locks
    • Security Library - A set of object-oriented classes for manipulating users and groups
    • IO Library - A collection of common I/O facilities enabling you to write your own I/O adapters, common interface for sockets, pipes, files and IO Steams
    • Framework Library - A collection of common design pattern implementations that are used as the framework for which to build robust, scalable applications
    • UNIX Library – C++ encapsulations of UNIX processes, resources, signals, timers, System V IPC, pipes and other classes. Provides a clean, consistent C++ interface to UNIX system calls.

    Web Toolkit

    The Web Toolkit is an ANSI/ISO-compatible C++ library that contains classes for dynamically building HTML (Hypertext Markup Language) Web pages. Using the Web Toolkit, you can write Web page logic and structure using C++ objects and existing C++ interfaces without learning HTML. If you do not use a tool like the Web Toolkit when creating an application that builds Web pages, you must manually insert HTML into your code. This is not only cumbersome and error-prone, but requires that you learn HTML syntax.

    The Web Toolkit provides the following important benefits:

    • Write CGI programs in C++ while reusing existing C++ libraries and interfaces. Eliminates the need to wrap existing interfaces to implement CGI programs in a scripting language.
    • Use familiar object-oriented techniques, such as encapsulation, to manage large and complex CGI programs. This feature reduces the cost of extending and modifying CGI programs.
    • Provides helpful diagnostic output to troubleshoot invalid Web page composition.
    • Utilizes the ANSI/ISO Standard Template Library (STL) and string class. This compatibility positions code for portability and reduced long-term maintenance.

    Math Toolkit

    The Math Toolkit is a C++ class library for writing portable, computing intensive applications. These advanced C++ objects allow you to build scientific-computing applications while focusing on your domain rather than the efficiency of the mathematical operations. If performance is your goal, the Math Toolkit is your solution.

    Our Math Toolkit classes are:

    • Complex number - Representation of the real value and imaginary value of a complex number.
    • Numeric vector - Class providing the capability to represent and manipulate numerical vectors. Operations supported include addition, subtraction, multiplication, division, indexing and others.
    • Numeric matrix - Class providing the capability to represent and manipulate numerical matrices.
    • Operations supported include addition, subtraction, multiplication, division, indexing and others.
    • Numeric array - Class providing the capability to represent and manipulate numerical arrays. Operations supported include addition, subtraction, multiplication, division, indexing and others.
    • LU factorization - Compute the lower and upper triangular matrix for a given matrix.
    • Fast Fourier Transforms - Mechanisms for computing Discrete Fourier Transform.
    • Random number generators - Mechanisms for computing random number based on various probability distributions.
    • Least squares approximation - Compute the best-fit curve for a set of data.
    • Histogram - Class providing the capability to represent and manipulate data in histograms.

    Operating Systems

    • PC 32-bit Windows
    • Sparc
    • Sun
    • IBM AIX
    • Solaris
    • HP UX
    • Unix
    • SYSV

    Compilers

    • Visual C++
    • GCC
    • Sun CC
    • IBM xlC
    • SGI NCC
    • Borland C++
    • Watcom C++
    • HP C++
    • Sparcworks

    Added : 1996-05-22 Amended: 2011-02-07 Licensing : Commercial

    Comment from : watch the green hornet online on 2011-01-06

    Hello there, Thanks for sharing this link - but unfortunately it seems to be down? Does anybody here at www.trumphurst.com have a mirror or another source? Thanks, Peter

    Comment from : Nikki Locke on 2011-02-07

    I followed the original link, waited until it redirected to their home page, typed the name of the toolkit into the search box on the home page, and arrived at the new link (which I've now corrected above). You could easily have done the same!

    Add a comment


    ChartFolio - C++ charting and graphing class libraries

    DPC Technology manufactures the ChartFolio product line -- C++ charting and graphing class libraries and DLL's providing all major chart types, end-user interactivity, and Rapid Application Development (RAD) built on and tightly coupled with The Microsoft Foundation Classes (MFC), ZINC Software's ZAF 5, or Rogue Wave zApp.

    Added : 1998-07-27 Amended: 1998-07-27 Licensing : Commercial

    Add a comment

    Classix

    In addition to Rogue Wave, Empathy offers a good general-purpose library called Classix.

    I do not have confirmed information, but I have been told that this library is no longer available.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Classix
    • Email:info@roguewave.com
    • Tel:(503) 754-2311
    • Postal address:Rogue Wave Software, Inc., 1325 NW 9th Street, Corvallis, OR, 97330
    • Fax:(503) 757-6650
    Add a comment

    CodeBase Database Engine for C/C++ Developers - Develop powerful client/server or standalone database driven applications.

    CodeBase is a high-performance database engine designed for developers who need maximum speed in their applications. Features include multi-user file compatibility with FoxPro, dBASE and Clipper file formats, Client/server support allowing database access over networks ranging from small LANs to the Internet, and adding security with account privileges.

    CodeBase comes with full source code and provides royalty-free distribution. Support is also available for Java, SQL, OLE DB/ADO and ODBC. CodeBase also supports most development environments including C, C++, Visual Basic, Kylix, Delphi, and runs on most operating systems.

    At the heart of our award-winning database engine is a library of well-tested, highly optimized routines. CodeBase has been around since 1984 so not only do you get a proven, stable product, but also experienced and knowledgeable technical support as well.

    Operating Systems

    • PC DOS
    • Linux
    • PC 32-bit Windows
    • Sparc
    • SGI Irix
    • Sun
    • IBM AIX
    • Solaris
    • HP UX
    • OS/2
    • Unix
    • X Windows
    • Dec Alpha
    • PC Windows
    • SCO Open Desktop
    • Unisys Unixware
    • Mac

    Compilers

    • Visual C++
    • GCC
    • SGI CC
    • Sun CC
    • IBM xlC
    • MetroWerks CodeWarrior
    • Borland C++
    • HP C++
    • IBM Cset++

    Added : 2001-09-23 Amended: 2001-09-23 Licensing : Commercial

    Add a comment

    CommonPoint Application System - Comprehensive C++ class library for writing portable GUI applications

    It includes a GUI builder, a development environment, full international language support, full 2D and 3D graphics, multi-media, collection classes, customizable text and graphics editors, a compound document architecture, a workspace/finder, etc.. It is fully supported.

    Future versions will run on additional platforms.

    Operating Systems

    • IBM AIX

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      CommonPoint Application System - Comprehensive C++ class library for writing portable GUI applications
    • WWW http://www.taligent.com/
    • Postal address:Taligent, Inc., Cupertino, CA
    Add a comment

    CommonView - Iconic user interface from Glockenspiel

    This is a C++ UI library. In addition, it comes with container classes. The down-side is that some of the features are not supported across all platforms.

    Richard Erwin (Erwin.Richard@service.rba.ch) writes:
    As far as I know, CA does no longer distribute/support this class library. It has no support for Win32.

    We bought a source licence of CommonView and ported parts of it to Win32 ourselves.

    Maybe you should remove CommonView from your list or indicate that there is virtually no support from CA.

    Added : 1995-01-01 Amended: 1999-08-24 Licensing : Commercial

      CommonView - Iconic user interface from Glockenspiel
    • Tel:(516) 342-2308
    • Postal address:Computer Associates International, One CA Plaza, Islandia, NY 11788
    • Fax:(516) 342-6947
    Add a comment

    CP Graphics Library - User Interface Widgets

    CP Graphics Library is MFC-extension set of C/C++ widgets for Windows 3.x, 95 and NT. It gives programmers full control over user interface. Both 16 and 32-bit versions are included. The source code is fully documented and can be easily extended to produce new controls.

    Operating Systems

    • PC 32-bit Windows
    • PC Windows

    Compilers

    • Visual C++

    Added : 1998-07-27 Amended: 1998-07-27 Licensing : Commercial

      CP Graphics Library - User Interface Widgets
    • User Interface Demo
    • Submitted by:c-point@c-point.com
    Add a comment

    Crusher! - Data Compression Toolkits

    The Crusher! Data Compression Toolkits are high-performance, portable data compression libraries. Crusher's comprehensive API of 45+ functions, identical across all platforms, provides buffer compression, file compression, archiving, subdirectory support, wildcards, disk spanning, encryption, self-extracting EXE's and more. Typical results compresses data to 20-50% of their original size or less. Implement full archiving in just four function calls.

    Crusher archives are portable across all supported platforms and full source code is included, as well as numerous sample applications. Includes ARQ.EXE, a convenient command-line utility for managing Crusher archives, and SETUP, a Windows installation/setup program. Supports all C/C++ memory models and languages such as Visual Basic and Delphi. Windows versions include VBX and OCX custom controls and full on-line documentation. Limited 30-day warranty. A free demo is available for downloading from our bbs or web site.

    Retail Platform Pricing (all prices are in U.S. dollar and include full C source code):

    • DOS $249
    • 16-bit Windows $299
    • 32-bit Windows $299
    • Macintosh $299
    • OS/2 $349
    • Unix $349

    This information may be out of date. The vendor mailed me to say that they had a new version, together with a GCI toolkit, but did not give me any details.

    Operating Systems

    • PC DOS
    • PC 32-bit Windows
    • OS/2
    • PC Windows
    • Unisys Unixware
    • Mac

    Compilers

    • Visual C++
    • Borland C++
    • Watcom C++
    • Symantec C++

    Added : 1996-02-05 Amended: 1998-02-24 Licensing : Commercial

    Add a comment

    Dalc++ - Store C++ objects in relational databases with this database access library

    DALC++ is a C++ class library that makes connecting to a relational database effortless. It takes care of the transformation between the object-oriented paradigm and the relational model without compromises. It provides automatically generated object identities, support for bidirectional associations, and a query language in C++. DALC++ implements an advanced transaction model for both the database and the client, and uses an optimistic locking strategy to make applications built with it completely multi-user. Other advanced features include client-side cache, automatic garbage collection, a multilevel undo/redo mechanism and the ModelGenerator, a DALC++ sample application that can generate header files that define your class model.

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Visual C++
    • Borland C++

    Added : 2003-01-08 Amended: 2003-01-08 Licensing : Shareware

    Add a comment

    Developer - Cross-platform high performance string support

    Str Library is a high-performance string support library that enables developers to use a common code base for multiple platforms. It contains almost all the features of STL std::string and MFC CString but consistenly outperforms these in benchmarking for real-world programs.

    A no-obligation free evaluation download is provided, including full source code. The library has no runtime royalties.

    Operating Systems

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

    Compilers

    • Visual C++
    • GCC

    Added : 2002-06-11 Amended: 2002-06-11 Licensing : Commercial

    Add a comment

    DiaViews++

    Class library for the development of graphical user interfaces (GUI) in OSF/Motif and C++

    This library combines the power of the OSF/Motif toolkit with the advantages of the C++ language by means of completely encapsulating the Motif objects (widgets/gadgets). This means there is a C++ class for every Motif object. DiaViews supports the structured, object-oriented development of Motif interfaces. C++ features such as rigorous type checks and virtual functions, etc. enhance the efficiency of the development process.

    Advantages:

    • Uniform C++ interface with OSF/Motif
    • Framework for generating reusable UI components
    • Use of callback objects
    • Interface with Dialog Builder, the interactive tool from Siemens Nixdorf for OSF/Motif user interfaces
    • Simple and reliable handling of Motif resources
    • Automatic generation of make- files
    • Minimal training overhead
    Price for source license (all platforms): 1200 DM, ~800 US$
    Academic or private use license: 300 DM, ~200 US$
    (needs Generic++)

    Added : 1995-01-01 Amended: 1996-02-28 Licensing : Commercial

      DiaViews++
    • Email:info@ootec.isar.de
    • Tel:(49) 89 893242-0
    • Postal address:Alexander v. Zitzewitz, OO-Tec GmbH, Muenchener Strasse 45, D-82131 Gauting, W. Germany
    • Fax:(49) 89 893242-31
    Add a comment

    Diffpack - Comprehensive object-oriented system for multi-physics simulation

    The Diffpack Development Framework is a comprehensive object-oriented system for multi-physics simulation. In contrast to traditional technology for scientific computing, Diffpack utilizes the full power of object-oriented modeling strategies while maintaining full focus on computational efficiency. Diffpack consists of a set of C++ class libraries geared towards the numerical solution of partial differential equations (PDEs) and a collection of of associated utilities and tools, such as a powerful graphical user interface (GUI) and automatic generation of web-aware result reports.

    Operating Systems

    • Linux
    • PC 32-bit Windows
    • SGI Irix
    • IBM AIX
    • Solaris
    • HP UX
    • Unix
    • OSF
    • Dec Alpha
    • Dec OSF/1

    Compilers

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

    Added : 1999-06-16 Amended: 1999-06-16 Licensing : Commercial

      Diffpack - Comprehensive object-oriented system for multi-physics simulation
    • Email:info@nobjects.com
    • Tel:+47 22 06 73 00
    • WWW http://www.nobjects.com
    • Postal address:Numerical Objects AS, PO Box 124 Bindern, 0314 Oslo, Norway
    • Fax:+47 22 06 73 50
    • Submitted by:olied@nobjects.com
    Add a comment

    Distinct TCP/IP - TCP/IP for Windows Software Development Kit

    C++ Class Libraries for FTP, Telnet and Windows Sockets.

    Allows developers to develop TCP/IP applications without making calls directly to a C Dynamic Link Library (DLL). Applications are created using the Distinct C++ Class Libraries, which take care of establishing the connection between the client and server side of the application. All functionality normally associated with calling a TCP/IP application is taken care of by setting data members and by handling upcall events. Applications are notified of errors, connection changes and incoming data by an upcall posted by the library to the applications window, by providing a callback function to the library or by making polling calls to the library at frequent intervals.

    Standard Edition:$495.00
    Professional Edition:$695.00
    Distinct TCP/IP Run Time: $100.00

    Compilers

    • Visual C++

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Distinct TCP/IP - TCP/IP for Windows Software Development Kit
    • Email:mktg@distinct.com
    • Tel:(408) 366-8933
    • Postal address:Distinct Corporation, 12901 Saratoga Avenue, #4, Saratoga, CA 95070
    • Fax:(408) 366-2101
    Add a comment

    Dr. - Vector Graphics Framework in C++

    A cross-platform (Linux, Win32, Mac OX X, FreeBSD, Linux and IRIX) open source C++ framework for 2D and 3D vector graphics that includes 2D curves, a 2D font engine, bitmap vectorizer, tessellator, and an OpenGL extensions manager.

    Operating Systems

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

    Compilers

    • Visual C++
    • GCC

    Added : 2006-04-20 Amended: 2008-07-22 Licensing : Commercial

    Add a comment

    DV Centro - C++ graphics framework for building visual language applications

    DV-Centro provides robust graphics, event management and utilities for efficiently developing applications that use non-textual interfaces. Visual language interfaces allow programming through manipulation of graphic objects. By overlaying, juxtaposing or inter- connecting graphic objects, a user can interact and manipulate the application.

    DV-Centro is designed for creating applications such as graphical editors and visual language applications - like diagram editors, finite state machine editors, simulation and control systems, etc.

    It provides:

    • graphics classes: primitives (line, point, circle etc.), rendering (Motif, Windows, Postscript), automatic damage repair, properties (color, fill, line styles etc.), transformations (rotation, scaling, translation)
    • graphical constraint management for graphical connectivity and containment. For example, keeping lines connected to boxes while editing a diagram.
    • event handling classes for platform-independent definition of events, states and responses used to define how the system behaves.
    • mechanisms for graphical editing (n-level undo/redo, copy/cut/paste, save/restore etc.)
    • utilities: run-time type checking, memory management
    • classes to link data to graphics so you have "smart diagrams"
    • Python bindings to Centro for rapid development without long C++ compile times

    Operating Systems

    • PC 32-bit Windows
    • Sun
    • Solaris
    • HP UX

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      DV Centro - C++ graphics framework for building visual language applications
    • Email:info@dvcorp.com
    • Tel:413-586-4414
    • WWW http://www.dvcorp.com
    • Postal address:DataViews Corporation 47 Pleasant Street Northampton, MA 01060
    • Fax:413-586-3805
    Add a comment

    EasyTrans - DLL to convert and transform coordinates

    EasyTrans is an all-in-one coordinate conversation and transformation DLL, with 3-D transformations, additional options and implemented geoids .EasyTrans supports geographic, UTM, isometric and geocentric coordinates and comes with all ellipsoids and projections used world-wide.

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Visual C++
    • Borland C++
    • VisualBasic

    Added : 2000-04-26 Amended: 2000-04-26 Licensing : Commercial

    Add a comment

    Embedded Software Framework - An object-oriented software development kit for embedded systems

    • ESF Base™ is an OS and platform independent data structure, algorithm and digital signal processing library.

    • ESF RTOS™ is an elegant, simple, powerful, and easily customizable, object-oriented interface to kernel services, such as thread creation and synchronization.

    • ESF Device™ is a framework of object-oriented, multi-threaded device drivers having portable interfaces and portable implementation, i.e. CPU independence and explicit separation of hardware dependent and hardware independent code.

    • ESF Tcp/Ip™ is a flexible, fast, compact, no-shortcuts real-time implementation (e.g. no heap allocation, timeouts, etc.) of the standard TCP/IP protocols.

    • ESF SNMP™ is a complete implementation of the standard SNMP protocols, including a framework for rapid MIB implementation that uses advanced data structures such as“balanced binary trees” for high performance object retrieval.

    • ESF Web Server™ is an embedded implementation of an HTTP web server that supports all basic HTML (including HTML forms), a website in ROM, and a CGI method for direct execution of internal C or C++ functions.

    • ESF SCSI™ is a complete implementation of both Initiator and Target side SCSI protocols.

    Added : 2004-07-07 Amended: 2004-07-07 Licensing : Commercial

    Add a comment

    ExacMath - Quadruple Precision C++ Math Libraries

    ExacMath is a quadruple and double quadruple C++ math library that supports the Borland C++ and Microsoft Visual C++ compilers. ExacMath supports real and complex arithmetic with three floating point data types. The epsilon real data type has a 128 bit mantissa. The dpepsilon real data type has a 256 bit mantissa. The cepsilon complex data type real and imaginary components each have a 128 bit mantissa.

    ExacMath extends the capability of the Borland C++ and Microsoft Visual C++ math libraries, neither of which supports quadruple or double quadruple arithmetic. The ExacMath library of functions are the same ones found in the Borland C++ and Microsoft Visual C++ math libraries.

    ExacMath libraries support DOS, Win16, Win32, 16 and 32 bit Windows Console Applications as well as MFC programs. ExacMath has an elaborate mecanism for exception handling that allows the programmer to trap an exception error message and continue executing the program after the exception occurred. ExacMath also has a library of functions that allow for processing of RMS and MRE errors automatically.

    For pricing refer to the Floating Point Software Web Site

    Operating Systems

    • PC DOS
    • PC 32-bit Windows

    Compilers

    • Visual C++
    • Borland C++

    Added : 1998-12-03 Amended: 1998-12-03 Licensing : Commercial

    Comment from : STEPHEN TURATO on 2015-05-02

    THE ORIGINAL VERSION OF EXACMATH HAS BEEN COMPLETELY REWRITTEN TO VERSION 7.0. THIS NEW VERSION HAS BEEN TESTED THROUGLY AND AT THIS POINT APPEARS TO HAVE NO PROBLEMS WITH IT. ANYONE USING VISUAL C++ KNOWS THE LONG DOUBLE DATA TYPE IS MISSING. THAT IS THE FLOATING POINT TYPE WITHA 64 BIT MANTISSA. MR. TURATO HAS FIGURED OUT A WAY TO OVERCOME THIS PROBLEM AND HAS CALLED THE NEW DATATYPE REAL80. IT HAS THE SAME FORMAT AS THE INTEL FPU WITH A 64 BIT MANTISSA. I WILL NOT DISCLOSE HOW I HAVE DONE THIS I WILL ONLY SAY IF YOU WANT TO KNOW HOW TO DO THIS YOU WILL HAVE PURCHASE THE SOURCE CODE WHICH IS WELL OVER 1 MILLION LINES OF CODE FOR ALL 4 RUN TIME LIBRARIES. IT WILL BE AVAILABLE ON EBAY AT FIRST AT A CHEAP PRICE OF $75. THE RUNTIME MATH LIBARIES ARE THE FOLLOWING: 1) duad - 106 BITS OF PRECISION 2) quad - 128 BIT OF PRECISION 3) real80 - LONG DOUBLE 64 BITS OF PRECISION 4) mpad - MULTPLE PRECISION EACH OF THE ABOVE RUNTIME MATH LIBRARIES HAS THE SAME FUNCTION AS THE VISUAL C++ MATH LIBRARIES AND SOME EXTRA ERROR COLLECTION FUNCTION AS THE MRE AND RMS ERRORS OR 2-NORMS. INCLUDED IN THE LIST OF FUNCTIONS ARE TWO FUNCTIONS THAT COMPUTE MINMAX POLYNOMIALS. THE FUNCTIONS ARE WRITTEN WITH THE MPAD DATA TYPE TO MAXIMZE THE ACCURACY OF THE RESULTS. ALONG WITH THE LIBRARIES IS AN EXCEPTION HANDLING MECHANISM THAT TEMPORARLY STOPS THE EXECUTION OF A VISUAL C++ PROGRAM WHEN SAY AN EXPONENT OVERFLOW OCCURS WHEN ADDING 2 NUMBERS. INLCUED IN THE PACKAGE WILL BE A PROGRAMMERS REFERENCE MANUAL AND A FUNCTION REFERENCE NABUAL FOR EACH DATATYPE. IF YOU ARE WONDERING HOW I COULD GET THE QUAD DATATYPE RTO WORK I USE DEKKERS ALGORITHM TO DOUBLE THE PRECISION OF A REAL80. THE DUAD DATA TYPE IS DONE THE SAME WAY. THE REAL80 DATATYPE IS WRITTEN IN OPTIMIZED X60 FLOATING POINT ASSEMBLY CODE. THE SOURCE CODE WILL BE AVAILABLE ALONG WITH THE DESIGN MANUALS FOR A PRICE OF AT LEAST $500. I HOPE TO FINISH THIS UP SOMETIME IN 2015. I WILL NOTIFY ON FACEBOOK OR THIS WEBPAGE WHEN YOU CAN DOWNLOAD SAMPLE PROGRAMS TO SEE IF YOU LIKE THE ENTIRE SYSTEM. TYPPE IN STEPHEN TURATO ON FACEBOOK TO GET THIS INFORMATION. THE SOFTWARE WILL BE AVAILABLE ON EBAY AT FIRST. I HAVE USED AND TESTED MANY RUNTIME HIGH PRECISION MATH LIBRARIES ON THE INTERNET. THEY ALL HAVE THERE PROBLEMS SUCH AS INACCURACY AND SLOW RUNNING FUNCTIONS. THESE LIBRARIES ARE NOT ONLY FAST BUT EXTREMELY ACCURATE AND USE THE METHODS IN HTE BOOK BY CODY AND WAIT.

    Comment from : STEPHEN TURATO on 2015-05-03

    THE LATEST VERSION OF EXACMATH CAN BE RUN ON WINDOWS XP, WINDOWS Y7, AND WINDOWS 8. EXACMATH 7 IS THE LATEST VERSION. IT S UNACCURACY IS UNMATCHED DUE TO A NEW METHOD POSTED IN AN ARTICLE IN TOMS IN THE EARLY 1990'S. THE METHOD USES FOR TRANSCENDENTAL FUNCTION LIKE THE SIN FUNCTION A N ARGUMWENT REDUCTION FIRST FOR X OF THE COMPUTATION OF SIN(ZX). IT THEN CREATES AN INDEX THAT LOOKS UP A MINMAX POLYNOMIAL APPROXIMTION OCF THE REDUCED ARGUMENT. TEHE ANSWER FOR THE REDCUDED ARGUMENT IS THAN CALCULATED AND THE FINAL ANSWER FOR SIN(X) IS FOUND BY REVERSING THE STEPS USED TO CREATE THE REDUCED ARGUMENT. SOMETIMES IT IS ADVANTEGOUS TO USE AN IDENTITY TO COMPUTE THE REDUCED ARGUMENT. IN THAT CASE THAT IDENTITY IS USED IN THE REVERSING PROCEDURE TO CALCULATE THE FINAL ANSWER. ALGORITHMS EXISTS IN TOMS FOR SIN(X), COS(X), LOG(X), E^X AND MANY MORE FUNCTIONS. THE OVERAL RESULT IS A RUNTIME LIBRARY THAT IS EXTREMELY FAST AND ACCURATE. ACCURACY PROGRAMS WILL BE AVAILABLE RTO SHOW THESE RESULTS IN 2015. MOST OF THE TIME THE FINAL RESULTS IS EITHER EXACT OR OFF BY ONE BIT. DEKKERS ALGORITHM INVENTED BY A GERMAN MATHEMATCIAN IN 1970 IS USED FOR THE BASIC OPERATIONS SUCH AS THE SQRT(X) AND X/Y. OVERALL THE RESULTING LIBRARY WILL BE VERY USEFUL FOR RESEARCHERS IN THE FIELD WHO NEED THE LONG DOUBLE LIBRARY AND QUAD PRECISION. THE SOURCE CODE WILL BE AVAILABLE AT A HEFTY PRICE OF $500 BECAUSE THE OVERALL PRODUCT TOOK 20 YEARS OF RESEARCH, CODINFG AND DEVELOPEMENT. THERE WILL BE SEVERAL BOOKS AVAILABLE THAT EXPLAIN HOW THE LOOKUP TABLE METHOD ACTUALLY WORKS. ANY QUESTIONS ABOUT THE AVAILABILTY OF EXACMATH CAN BE OBTAINED BY WRITTING STEPHEN TURATO AT THE EMAIL ADDRESS s.turato@comcast.net

    Add a comment


    ExacMath - High Precision Math Library

    High Precision Math Library called ExacMath. This is a commercial 32 or 64 bit version running on Windows XP, Windows 7 or 8. It uses Dekkers Algorithm and a table of minmax polynomial approximation to increase the speed and accuracy of the results. In most cases one will get last bit accuracy. There are 4 data types, real80(long double), duad(106 bits of precision), quad(128 bits of precision), and mpad(multiple precision). A programmers reference manual along with 4 manuals describing how to use each function is included. Code includes an elaborate exception handling method. Available for use on Microsoft Visual C++ 6.0. or higher. The sample code are the actual test programs for accuracy and timining. Will be available in the fall of 2015.

    Operating Systems

    • PC 32-bit Windows
    • X Windows

    Compilers

    • Visual C++
    • Visual C++ 6

    Added : 2015-10-26 Amended: 2015-10-26 Licensing : Commercial

    Add a comment

    fACTs++ Class Library - Financial Application Construction Tools in C++

    A homogeneous tool-box of more than 300 C++ classes and templates. fACTs++ provides programmers with design patterns for distributed client-server applications supporting multi-currency securities and transactions, along with associated international conventions. The library includes a complete set of foundation classes, parallel processing and communication classes, extendible financial instrument hierarchy and financial modeling classes.

    fACTs++ features include:

    • Dynamic Object Type Identification with Smart Pointers
    • Streams Interface
    • Container Templates
    • Time, Date, Calendar and Timer classes
    • String and Regexp Classes
    • Mathematics and Financial Modeling Classes
    • Internationalization Support
    • Interface To Persistence Storage and Extendible Objects
    • Application Configuration Framework
    • Human-Computer Interface Tools, including Model-Viewer Controller Classes
    • Distributed Processing Primitives and Client-Server Framework
    • CashValue, CashFlow, Payment, Yield and DayCount, Market classes
    • Comprehensive and extendible set of instrument definitions, such as Swap, Bond, Basket and Derivative
    • Portfolio, Position and Transaction Classes
    • Yield Curve, Volatility and Time Series Classes
    fACTs++ is available, on a per-project basis, as part of Objective Edge's custom software engineering service. The company's training program allows clients to quickly "ramp-up" their object-oriented development projects, providing early, visible results while reducing development costs. Upon project completion, clients are left with a technology base and application architecture which they are able to leverage in future development activities.

    fACTs++ is currently supported on Solaris 2.X and x86, and may be ported to any POSIX compliant platform on a custom development basis.

    fACTs++ is a trademarks of Objective Edge Inc. Copyright(c) 1994, 1995 Objective Edge Inc. All rights Reserved.

    Operating Systems

    • Solaris

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

    Add a comment

    Forward Error Correction Library - Reed-Solomon Forward Error Correction

    Supports Reed-Solomon Forward Error Correction encoding and decoding for many different codes

    Features:

    • ANSI C++ class library, can be called from C or C++
    • Designed for ease of use and flexibility
    • Generate/test Reed-Solomon codes with an absolute minimal knowledge of error correcting codes
    • Provides C++ classes to allow finite field matrix and polynomial operations to allow generation of other codes
    Licensing/pricing: please contact us.

    Operating Systems

    • PC DOS
    • PC Windows

    Compilers

    • Borland C++

    Added : 1996-09-09 Amended: 1996-09-09 Licensing : Commercial

    Add a comment

    G-BASE/GTX (MATISSE) - Object Oriented Database

    Contact: Christina Bernard, Marketing and Communications

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      G-BASE/GTX (MATISSE) - Object Oriented Database
    • Email:info@odb.com
    • Tel:(617) 354-4220
    • Postal address:ODB, an Intellitic Intl Co., 238 Broadway, Cambridge, MA 02139
    • Fax:(617) 547-5420
    Add a comment

    Galaxy

    This is a C UI library, but it's written in an object-oriented style and is type safe for C++ use. The package includes a WYSIWYG GUI builder.

    The tools are, reportedly, pretty full-featured. User-interface items have extensive abstraction (for example, they have a confirmation-type dialog that resolves to a push-pin and 'apply' button under openlook, but 'ok', 'apply', 'cancel' buttons under motif). Objects can be positioned relative to each other (rather than merely absolute position on the screen). Also, errors are handled with an abstract exception handling framework. They support internationalization of fonts (at least Japanese), money, and data formatting.

    Some extra-cool features include memory leak detection and C-language objects for text (multi-styled, multi-font text with embedded graphics), list (spreadsheet-like for handling up to 2^31 x 2^31 cells with customizable displays), and graphics processing.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Galaxy
    • Email:galaxy@visix.com
    • Tel:(800) 832-8668
    • Postal address:Visix, 11440 Commerce Park Drive, Reston, Virginia 22091
    • Fax:(703) 758-2711
    Add a comment

    GEMSTONE Object Oriented Database

    Briefly, GemStone is a full featured OODBMS with transaction control, multiple users, multiple platforms supported, client server architecture, active objects (ie, behavior can occur in the database as well as in the application using it), multiple language support, etc.

    GemStone is actually quite a bit more than just a data repository - it is a full-fledged DBMS that is pure OO. You can access the same database just as easily from C, C++, or SmallTalk, or you can build entire database applications inside the database server, because it is an active server that runs methods written in our DML, OPAL, which is a dialect of SmallTalk. There are also high-level tools to aid application building.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      GEMSTONE Object Oriented Database
    • Email:marcs@slc.com
    • Tel:800-243-9369
    • Tel:(181) 447-0800
    • Tel:510-814-6200
    • Postal address:Servio Corporation, 950 Marina Village Parkway, Suite 110, Alameda CA 94501
    • Postal address:UK Office:, Servio-UK Ltd, Criterion House, Beauchamp Court, Victors Way, Barnet, EN5 5TZ, England
    • Fax:510-814-6227
    Add a comment

    Generic++

    Class library with container classes and basic data types for the development of portable, object-oriented applications. Actually (Feb 96) won the readers choice award of "Objekt Spektrum", which is a German SIGS publication.

    This C++ library is completely new. It is aimed at commercial users and implements a generous selection of application-independent basic classes. Its use frees the user from error-prone and time-consuming specific tasks (e.g. main memory management). All libraries previously available on the market are targeted more or less specifically on a particular system environment. However, it is becoming more and more urgent to make as many application modules as possible independent of a specific target platform. What gives Generic++ its competitive edge is the portability of its components and the way it takes account of other software engineering aspects.

    Advantages:

    • Implementation of the most important application- independent basic classes
    • Availability on all standard operating systems and platforms
    • Accommodation of the latest C++ extensions such as templates and exception handling
    • Co-existence with other libraries
    • High degree of runtime efficiency and low resource consumption
    • Integrated debugging support
    • Template-based, typesafe container classes with interchangeable implementation data structures
    • Smart cursors
    • Suitability for use in the development of client/server applications in heterogeneous networks.
    • Support for multi-threaded applications
    • Persistent objects
    • Regular expressions
    • System independent handling of file and path names
    Price for source license (all platforms): 947 DM, ~610 US$
    Academic or private use license: 300 DM, ~200 US$

    Operating Systems

    • PC DOS
    • PC 32-bit Windows
    • OS/2
    • Unix
    • PC Windows

    Compilers

    • IBM xlC
    • Cfront
    • Borland C++
    • Watcom C++
    • IBM Cset++
    • Symantec C++

    Added : 1995-01-01 Amended: 1996-02-28 Licensing : Commercial

      Generic++
    • Email:info@ootec.isar.de
    • Tel:(49) 89 893242-0
    • Postal address:Alexander v. Zitzewitz, OO-Tec GmbH, Muenchener Strasse 45, D-82131 Gauting, W. Germany
    • Fax:(49) 89 893242-31
    Add a comment

    Genitor - Automates construction and maintenance of code and documentation

    Genitor is a tool for C/C++ programmers that automates construction and maintenance of code and documentation. A graphical editing environment lets developers rapidly construct any kind of class or function. Genitor stores objects in a shared repository. Powerful search and documentation functions let programmers quickly utilize work performed by others.

    Winner Software Development Magazine Productivity Award 1997 and 1997.

    Genitor also hosts the Developers Resources a listing of useful links for C/C++ developers.

    • Genitor Standard Edition - $495
    • Genitor Corporate Edition - $695

    Operating Systems

    • PC 32-bit Windows

    Added : 1998-02-24 Amended: 1998-07-22 Licensing : Commercial

    Add a comment

    Great Circle GC - Garbage collection library

    From Geodesic Systems.

    Added : 1997-12-04 Amended: 1997-12-04 Licensing : Commercial

      Great Circle GC - Garbage collection library
    • Geodesic Systems
    • Submitted by:boehm@mti.sgi.com
    Add a comment

    Greenleaf ArchiveLib - C/C++ library for data compression/archiving

    Greenleaf ArchiveLib provides the developer a set of classes and functions to compress and store ASCII and binary data into an archive for storage, as well as to retrieve and expand the stored data from the archive.

    Features include: PKZip 2.0x archive support - insert, extract, delete, list and more 3 compress and decompress engines: PKZip 2.0x compatible Greenleaf engine: lossless, dictionary-based Copy engine as alternative for small files Portable data compression engines are fast and efficient Progress meter & message classes Functions to add, replace, delete, update and retrieve objects of compressed data within the archive

    The price is $279 and this includes full source code. There are no royalties when distributed in executable format.

    Operating Systems

    • PC DOS
    • PC 32-bit Windows
    • OS/2
    • PC Windows

    Compilers

    • Visual C++
    • Borland C++
    • Watcom C++
    • IBM Cset++
    • Symantec C++

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Greenleaf ArchiveLib - C/C++ library for data compression/archiving
    • Email:info@gleaf.com
    • Tel:(214)248-2561
    • Tel:(800)523-9830
    • WWW http://www.gleaf.com/~gleaf.com
    • Postal address:Greenleaf Software, Inc. 16479 Dallas Pkwy. STE 570 Dallas, TX 75248
    • Fax:(214)248-7830
    • BBS:(214)250-3778
    Add a comment

    Greenleaf Comm++

    Comm++ is an synchronous RS-232 communications library that provides interrupt-driven, circular buffered service for 35 ports at baud rates to 115,200 baud. Classes are provided for: serial port controls, modem controls, file transfer protocols and calculation of check values.

    Features include: XMODEM, YMODEM, ZMODEM, CompuServe B+, Kermit and ANSI file transfer support XON/XOFF, RTS/CTS flow control Support for Novell's NASI interface VT52 and VT100 (subset) terminal emulation support 286/386 Dos extender support

    The price is $279 and this includes full source code. There are no royalties when distributed in executable format.

    (214)248-2561 (800)523-9830 (214)248-7830 FAX (214)250-3778 BBS http:\www.gleaf.com~gleaf.com email: info@gleaf.com

    Operating Systems

    • PC DOS
    • PC 32-bit Windows
    • OS/2
    • PC Windows

    Compilers

    • Visual C++
    • Borland C++
    • Watcom C++
    • IBM Cset++
    • Symantec C++

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

    Add a comment

    Guild

    This is a C-language UI library, but they're type-safe for C++ compatibility. The package includes a GUI builder and an event occurrence monitor.

    Additional features in the library includes support for international character sets, portable file system support and nifty C-language classes for pie-charts, 3d bars, x-y plots, and the like.

    OPTIONS:

    • Graphic Modeling $995
    • Oracle Database Bridge $395
    • ODBC Database Access $495

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Guild
    • Tel:(415) 513-6650
    • Postal address:Guild, 1710 S. Amphlett, 2nd Fl., San Mateo, California 94402
    • Fax:(415) 349-4908
    Add a comment

    ICpak101, ICpak201

    Stepstone

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

    Add a comment


    IDB - Object Databases

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      IDB - Object Databases
    • Tel:412-963-1846
    • Postal address:Persistent Data Systems, P.O. box 38415, Pittsburgh, PA 15238-9929
    • Fax:412-963-1843
    Add a comment

    IKaID - Computer animation library

    Brief summary of purpose: Computer animation library as an addition to OpenGL, Direct3D, OpenInventor, Rave, etc.

    Short list of features: Inverse kinematics, rigid-body dynamics, 3D transformation routines, and classes, and a non-linear equations solver. All components have portions assembly-coded for speed on the Intel Pentium.

    Non-transferable single-user license $169.00. Contact us for details on other types of licenses.

    Operating Systems

    • PC 32-bit Windows

    Added : 1997-03-19 Amended: 1997-03-19 Licensing : Commercial

    Add a comment

    ILOG BROKER - Distributed Object Computing

    ILOG BROKER: C++ library and preprocessor that extend the C++ language to transparently support Distributed Object Computing environments.

    Developers can make any existing linked C++ application distributed, by minimally changing their header files. A set of about 15 keywords enable ILOG BROKER's preprocessor to generate standard C++ code.

    Once the header files have been annotated, the preprocessor automatically generates the C++ source code to build the distributed application. Communication between objects is performed through the use of local surrogates calling methods on the real implementation objects across a network. The current implementation relies on RPC for the transportation layer. ILOG BROKER annotations have also been designed to generate IDL code for CORBA 2 specifications.

    ILOG BROKER does not impose the use of a dedicated server. Each object in the distributed application can be both a client and a server to and for other objects, therefore providing a true peer-to-peer programming tool.

    Cost: $5,000 per Unix-based development license. Preferred university rates available upon request.

    Operating Systems

    • Sun
    • IBM AIX
    • HP UX
    • Dec OSF/1
    • Silicon Graphics

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG BROKER - Distributed Object Computing
    • Email:info@ilog.com.sg
    • Email:info@ilog.com
    • Email:info@ilog.fr
    • WWW http://www.ilog.fr
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • Tel:+65 773 06 26
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Fax:+1 415-390-0946
    • Fax:+33 1 4908 3510
    • Fax:+65 773 04 39
    Add a comment

    ILOG DB LINK - Connect RDBMS to C++ applications

    ILOG DB LINK: is a C++ library to connect RDBMS such as Sybase, Oracle, Ingres, Informix, or SQLBase to C++ applications.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG DB LINK - Connect RDBMS to C++ applications
    • Email:info@ilog.fr
    • Email:info@ilog.com
    • Email:info@ilog.com.sg
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • Tel:+65 773 06 26
    • WWW http://www.ilog.fr
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Fax:+33 1 4908 3510
    • Fax:+1 415-390-0946
    • Fax:+65 773 04 39
    Add a comment

    ILOG RULES - Data monitoring in real-time environments

    ILOG RULES: is a C++ tool for data monitoring in real-time environments. ILOG RULES embeddable inference engine applies rules directly on native C++ application objets.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG RULES - Data monitoring in real-time environments
    • Email:info@ilog.com
    • Email:info@ilog.fr
    • Email:info@ilog.com.sg
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • Tel:+65 773 06 26
    • WWW http://www.ilog.fr
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Fax:+33 1 4908 3510
    • Fax:+65 773 04 39
    • Fax:+1 415-390-0946
    Add a comment

    ILOG SERVER - C++ object server implementing real-time groupware applications

    ILOG SERVER is a C++ library and preprocessor for building reactive servers of C++ objects. It offers a client-independent external abstraction of the data, which ensures the coherence of the shared objects. Each client: - has its own API (Application Programming Interface) - only has to be concerned with the objects it manipulates - does not have to worry about other clients sharing the same objects

    ILOG SERVER is an extension of the SmallTalk Model View Controller (MVC) architecture to manipulate custom C++ objects instead of fundamental data types. Developers describe object models by annotating their header files using about 15 predefined keywords. Once the header files have been annotated, ILOG SERVER's C++ preprocessor automatically generates the appropriate C++ code.

    By extending the notion of a C++ pointer as a data member, ILOG SERVER makes it possible to easily build relationships with cardinalities between C++ classes that will automatically be maintained. This extension to C++ supports inheritance and relationships based on smart pointers.

    Cost: $5,000 per Unix-based development license. Preferred university rates available upon request. Demonstration CD-ROM available

    Operating Systems

    • Sun
    • IBM AIX
    • HP UX
    • Dec OSF/1
    • Silicon Graphics

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG SERVER - C++ object server implementing real-time groupware applications
    • Email:info@ilog.com
    • Email:info@ilog.fr
    • Email:info@ilog.com.sg
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • Tel:+65 773 06 26
    • WWW http://www.ilog.fr
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Fax:+1 415-390-0946
    • Fax:+33 1 4908 3510
    • Fax:+65 773 04 39
    Add a comment

    ILOG SOLVER - Constraint reasoning library

    ILOG SOLVER: is a C++ constraint reasoning library for solving complex resource management problems such as scheduling, configuration, and planning.

    ILOG SCHEDULE: is an add-on library to ILOG SOLVER dedicated to solving scheduling problems.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG SOLVER - Constraint reasoning library
    • Email:info@ilog.com
    • Email:info@ilog.fr
    • Email:info@ilog.com.sg
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • WWW http://www.ilog.fr
    • Tel:+65 773 06 26
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Fax:+1 415-390-0946
    • Fax:+33 1 4908 3510
    • Fax:+65 773 04 39
    Add a comment

    ILOG TALK - Object-oriented dynamic language

    ILOG TALK: is an object-oriented dynamic language offering a seamless integration with C++ class libraries.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG TALK - Object-oriented dynamic language
    • Email:info@ilog.com
    • Email:info@ilog.fr
    • Email:info@ilog.com.sg
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • Tel:+65 773 06 26
    • WWW http://www.ilog.fr
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Fax:+1 415-390-0946
    • Fax:+33 1 4908 3510
    • Fax:+65 773 04 39
    Add a comment

    ILOG VIEWS - C++ library and editor to design Very Graphical User Interfaces

    ILOG VIEWS 2 high-level C++ class library is fully extensible and portable across Windows, OS/2, and Unix platforms.

    It includes:

    • portable resources, event management, and PostScript support
    • a portable multi-look gadget library
    • extensive 2D graphic object library including charts and gauges
    • PowerObjects such as graph layout, spreadsheet, and Gantt chart
    • management of multiple views & layers (for cartographic applications)
    • double buffering, infinite undo, zooming, and other editing operations
    The development of portable VGUI applications is accelerated through ILOG PowerEdit, an extensible VGUI builder that generates standard C++ code. PowerEdit reusable components are provided with ILOG VIEWS 2 so that developers can create and distribute their own custom editors.

    ILOG VIEWS 2 Dynamic Variable mechanism offer an interpretor for writing C formulae between variables to control the attributes of objects. This allows for code-free animation and control of graphics objects.

    ILOG VIEWS 2 provides a message translation mechanism so that messages used in the interfaces may be translated dynamically. The look and feel of ILOG VIEWS 2 applications can be changed dynamically from Motif to Windows on all platforms.

    ILOG BUILDER: is a GUI builder that generates OSF/Motif interfaces in C and C++. It offers UIL read/write capabilities and tight integration with ILOG VIEWS.

    Operating Systems

    • PC 32-bit Windows
    • Sun
    • HP UX
    • OS/2
    • PC Windows
    • Dec OSF/1
    • Silicon Graphics

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      ILOG VIEWS - C++ library and editor to design Very Graphical User Interfaces
    • Email:info@ilog.com
    • Email:info@ilog.com.sg
    • Email:info@ilog.fr
    • Tel:+1 415-390-9000
    • WWW http://www.ilog.fr
    • Tel:+65 773 06 26
    • WWW http://www.ilog.fr
    • Tel:+33 1 4908 3500
    • Postal address:ILOG, Inc., 2005 Landings Drive, Mountain View, CA 94043, USA
    • Postal address:Europe: ILOG SA, BP 85, 9 rue de Verdun, 94253 Gentilly Cedex, France
    • Postal address:Asia: ILOG Pte Ltd., 02-05 Cintech Building, 3 Science Park Drive, SINGAPORE 118254
    • Fax:+1 415-390-0946
    • Fax:+65 773 04 39
    • Fax:+33 1 4908 3510
    Add a comment

    ImageSoft - Object/Engineering C++ class library supporting simulation.

    The library provides a natural approach to solving discrete-event simulation problems. Modularity is reinforced by implementing the process objects as concurrent tasks. Support is provided for dynamic systems; transaction operators; transaction messages; as well as queuing network thread with polymorphic scheduler (timer for discrete-event simulation; tracer for simulation run; processes in discrete-event simulation with services delay; conventional/unconditional blocking, pre-emption, etc.; shared queues/links in network with LIFO, FIFO & arbitrary queuing discipline; producing node and source; consuming node and sink; generic queuing network nodes and servers.

    And full source code is provided together with extensive documentation, examples and tutorial. There are also an enormous number of other class libraries included with source that are of interest to the scientific and engineering community.

    hemant@neonetworks.com reports that all the phone numbers given have been disconnected. Further information welcome!

    Added : 1995-01-01 Amended: 1998-07-22 Licensing : Commercial

      ImageSoft - Object/Engineering C++ class library supporting simulation.
    • Email:mcdhup!image!object
    • Tel:(516) 767-2233
    • Postal address:ImageSoft Inc., 2 Haven Avenue, Port Washington, NY 11050
    • Fax:(516) 767-9067
    • BBS:(516) 767-9074
    Add a comment

    jfront rawjava - A C++ library for parsing java source code

    This parsing library is fully compliant with the newly published "The Java Language Specification, Second Edition" and as such encapsulates the complete Java 2 grammar. The release package contains a complete documentation set, including a training manual. The training package has been designed to be accessible to even inexperienced C++ developers.

    What follows is a brief list of the more significant features:

    • highly-scalable, efficient architecture means you can parse arbitrarily large java files
    • fully compliant with the Java 2 grammar
    • complete documentation clearly describes the API
    • concise API is easy to understand -- even for inexperienced C++developers
    • training package makes you productive very quickly
    We are currently only offering the library for gcc on linux. However, we will be adding platforms as requested, so check our site to see if your favourite platform is available (or to request a build for your platform -- we will be taking selected requests, based on market scale).

    Non-Commercial licences are available from US$88.00

    Operating Systems

    • Linux

    Compilers

    • GCC

    Added : 2000-07-28 Amended: 2008-11-04 Licensing : Commercial

    Add a comment

    Julius Model Viewer 1 - DICOM / Polymesh Viewer & Software Framework for Medical Applications

    Julius MV1 is a showcase application for the Julius framework. It can be used as a fully functional DICOM 3.0 or RAW volume viewer as well as a viewer for large polymesh datasets. It also provides basic data processing features such as volume segmentation or polymesh decimation. Julius MV1 can be used as a basis and testbed for other applications developed with the Julius Framework. The Julius Framework (which comes bundled with MV1) is a general software architecture for medical visualization, simulation, and navigation. Julius is written in C++ using Qt and OpenGL, resulting in a cross-platform framework.

    Operating Systems

    • Linux
    • PC 32-bit Windows
    • Mac

    Compilers

    • Visual C++
    • GCC

    Added : 2006-11-08 Amended: 2006-11-08 Licensing : Copyright (other)

    Add a comment

    just::thread C++0x thread library - A complete implementation of the thread library from the upcoming C++0x standard

    just::thread is an implementation of the multithreading-related portions of the standard library from the upcoming C++0x standard. The library includes the following features:
    • Tight adherence to the C++0x working draft.
    • std::thread class for launching and managing threads.
    • Mutex classes (std::mutex, std::timed_mutex, etc.) for protecting shared data.
    • Condition variables (std::condition_variable and std::condition_variable_any) for synchronizing operations.
    • Atomic types (std::atomic_int, std::atomic_long, etc.) for low level atomic access.
    • Futures and promises (std::unique_future, std::promise, etc.) for communicating data between threads.
    • Optimized implementation to minimize dynamic memory allocation and copying of supplied functions and arguments.
    • Compatible with Microsoft Visual Studio 2008 and Microsoft Visual C++ Express 2008 for 32-bit Windows targets.
    • Support for std::tr1::ref from Microsoft Visual Studio 2008 Service Pack 1 for passing references to a thread function.
    • Special debug mode for identifying the call chain leading to a deadlock.

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Visual C++

    Added : 2009-03-02 Amended: 2009-03-02

    Add a comment

    KALA - Object Oriented Database

    Kala(tm) is a Persistent Data Server managing distributed, shared, arbitrarily complex and evolving persistent data. Kala is highly efficient and secure. Kala manages the visibility of persistent data elements to its clients, thus supporting any types of transactions, versions, access control, security, configurations. Kala does not restrict you to any particular model. Kala provides the mechanism, but imposes no policy.

    Ports to Windows and MacOS are also likely in the near future. Any port is possible as NRE.

    Kala's interface is ANSI C, also callable from C++.

    Contact: Sergiu S. Simmel

    Operating Systems

    • PC DOS
    • Sparc
    • Sun

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      KALA - Object Oriented Database
    • Email:ig@kala.com
    • Tel:+1-973-539-7739
    • Postal address:Penobscot Development Corporation, Van Beuren Road, Morristown NJ 07960 USA
    Add a comment

    Libsetl - programming symbolically in C++

    Libsetl is a C++ library that is designed for supporting symbolic computing in C++. Based on a very high-level symbolic programming language (SETL), libsetl offers a number of powerful features that are available only for advanced symbolic languages. These features include latent types, high-level constructs (sets, maps and tuples), high-level operations through polymorphism, efficient iterators, runtime type checking, automatic memory management, intuitive syntax, and more. C++ programs written using libsetl do not have common C++ errors like memory leaks or memory corruptions. Runtime errors are detected and handled gracefully by using exceptions.

    Libsetl and its related files are proprietary materials. But free copies of precompiled packages are available for evaluations or education/research purposes.

    Operating Systems

    • PC DOS
    • Linux
    • PC 32-bit Windows
    • Sun
    • Solaris
    • HP UX

    Compilers

    • Visual C++
    • GCC
    • Cfront
    • HP C++

    Added : 1996-03-28 Amended: 1996-03-28 Licensing : Demo

      Libsetl - programming symbolically in C++
    • Land Software
    • WWW http://www.landsoft.com
    • Tel:908.957.3891
    • Postal address:Zhiqing Liu, Land Software, 162 von Neumann Drive, Princeton, NJ 08540
    • Fax:908.957.7189
    Add a comment

    LibXL - Library for reading and writing Excel files

    LibXL reads and writes Excel files without COM and Microsoft Excel. Supports unicode, formulas and cell's formatting: alignments, borders, colors, fill patterns, fonts. See detailed description and examples on the home page.

    Operating Systems

    • Linux
    • PC Windows
    • Mac

    Compilers

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

    Added : 2010-05-05 Amended: 2010-05-05 Licensing : Commercial

      LibXL - Library for reading and writing Excel files
    • Homepage
    • Submitted by:Dmytro Skrypnyk
    Add a comment

    Linpack.h++ - The jewel of C++ math classes.

    Linpack.h++ includes all of Matrix.h++, plus all of the functionality in the original and well- established Fortran version; including solutions of systems of equations for a variety of matrix types, solutions of over- and under-determined systems of equations, incremental least squares solvers, etc. But, Linpack.h++ is a tru object-oriented library, not just a C version that compiles under C++: the traditional messiness of the Fortran version has been replaced with high-level, yet efficient, objects that make code far easier to write and maintain.

    Prices range from $299 to $1195

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Linpack.h++ - The jewel of C++ math classes.
    • Email:info@roguewave.com
    • Tel:(503) 754-2311
    • Postal address:Rogue Wave Software, Inc., 1325 NW 9th Street, Corvallis, OR, 97330
    • Fax:(503) 757-6650
    Add a comment

    M++

    M++ isn't as well known as the RogueWave math.h++ libraries, but it has been around for many years. It has a number of features that distinguish it from the RogueWave classes, notably improved handling of temporaries.

    M++ was explicitly designed to provide the functionality of an array language like Matlab or Gauss and it contains the Linpack, Eispack stuff found in RogueWave's Linpack.h++.

    Dyad Software, also sell modules written in M++ for doing statistical work, including linear and nonlinear least squares estimation, as well as optimization, numerical integration, and differential equations.

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      M++
    • Tel:206-637-9426
    • Postal address:Dyad Software, 6947 Coal Creek Pkwy, Suite 361, Renton, WA 98059-3159
    • Fax:206-637-9428
    • BBS:206-271-9486
    Add a comment

    MacApp - Mac application development toolkit

    Luigi Ballabio tells me this toolkit is now available free of charge from the URL below.

    Operating Systems

    • Mac

    Added : 1995-01-01 Amended: 2000-04-26 Licensing : Copyrighted freeware

    Add a comment

    MainWin - MFC on Unix (Microsoft Foundation Classes)

    Developers can develop on Unix using the MFC library as on the PC. With virtually no change to the source code compared to the PC version (typically less then 1 per 1000) they produce unix version using the MainWin libraries. Most advanced features of MFC are supported like OLE, activeX, WinInet, multithreading, common controls. The look and feel of the application on unix is either Windows or Motif, and can be changed at runtime.

    Requires the C++ compiler from the platform vendor.

    Current MFC version (as of 11/96): 4.2

    Operating Systems

    • SGI Irix
    • Solaris
    • HP UX
    • Dec Unix
    • SCO Open Desktop

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

    Add a comment

    Matrix.h++ - includes all the functionality of Math.h++.

    For example: general matrices, vectors, statistics, complex numbers, Fast Forier Transformation (FFT's), etc. Matrix.h++ adds specialized matrix classes such as banded, symmetric, positive-definite, Hermitian, tridiagonal, etc. Because Matrix.h++ includes Math.h++, it can take advantage of Math.h++'s highly optimized low-level assembly routines, making it fast as well as graceful.

    Prices range from $199 to $995

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Matrix.h++ - includes all the functionality of Math.h++.
    • Email:info@roguewave.com
    • Tel:(503) 754-2311
    • Postal address:Rogue Wave Software, Inc., 1325 NW 9th Street, Corvallis, OR, 97330
    • Fax:(503) 757-6650
    Add a comment

    Memory Tuning System (MTS) - Fast, efficient memory allocator

    Specifically designed to minimize paging and data fragmentation

    Improves run-time performance by:

    • Minimizing virtual memory paging
    • Providing faster malloc/free calls
    • Minimizing memory fragmentation
    Improves programmer productivity with:
    • Standard C library malloc interface
    • Works with C, C++, FORTRAN
    • Availability on Unix, OS/2, Win32s and Windows NT
    • Consistent performance across multiple machines
    • MTS shipped as portable C source code

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      Memory Tuning System (MTS) - Fast, efficient memory allocator
    • Email: info@newcode.com
    • Email:zeev@newcode.com
    • Email:al@newcode.com
    • Email:al@newcode.com
    • Email:zeev@newcode.com
    • Tel:Corporate Headquarters: 1.800.NEWCODE (1.800.639.2633)
    • Tel:Eastern Office: 508.454.7255
    • Tel:Western Office: 303.416.0784
    • Postal address:Eastern Office: NewCode Technology, Inc., 650 Suffolk Street, Lowell, MA 01854
    • Postal address:Western Office: NewCode Technology, Inc., 2406 Newport Court, Fort Collins, CO 80526
    • Fax:Eastern Office: 508.454.7559
    • Fax:Western Office: 303.416.0753
    Add a comment

    MFC Toolkit 2.0 - MFC extensions

    The Toolkit product contains MFC extensions that make the programming job easier and improve your product. Examples of this include:
    • a bitmapped button class that generates all required images from a single 16 or 256-color bitmap
    • a class that allows subclassing of windows already subclassed by MFC
    • a fully-customizable docking toolbar that extends customization even to allowing the end-user to edit bitmap images on buttons
    • a class from which you can derive your own docking splitters
    • a simple splitter window with dynamic reorientation horz/vert
    • routines to find a runtime-class structure from its ascii name, check inheritan! ce using ascii names only, etc
    These are just a few examples; the toolkit contains more than this, is shipped with an extensive HLP file and full source code, and works with both the 32 and 16-bit versions of MFC.

    Operating Systems

    • PC 32-bit Windows
    • PC Windows

    Compilers

    • Visual C++

    Added : 1997-03-19 Amended: 1997-03-19 Licensing : Commercial

    Add a comment

    MIME++ - Class library for parsing, creating, editing messages in MIME format

    Features
    • Has 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-2045.
    • Supports all MIME types and subtypes documented in RFC-2046, including multipart, message, and application types.
    • Supports quoted-printable, base64, uuencode/uudecode, and Binhex 4.0 content transfer encodings.
    • SMTP, POP, and NNTP protocols.
    • Provides high-level, wrapper classes Message, C MultipartMessage, and MessageWithAttachments that are especially 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 isolated and identified as "portability functions."

    Operating Systems

    • Linux
    • PC 32-bit Windows
    • Sparc
    • SGI Irix
    • Sun
    • IBM AIX
    • Solaris
    • HP UX
    • Unix
    • SYSV
    • Dec Alpha
    • PC Windows
    • Dec OSF/1

    Compilers

    • Visual C++
    • GCC
    • Dec CC
    • SGI CC
    • Sun CC
    • SGI NCC
    • Cfront
    • Borland C++
    • HP C++

    Added : 1998-07-27 Amended: 2005-07-01 Licensing : Commercial

    Add a comment

    MtxVec - An object oriented numerical library for Cbuilder

    MtxVec is an object oriented numerical library designed for RAD. The library features several new approaches to object oriented numerics and breaks some new ground.

    Features:

    Encapsulates LAPACK 3.0 and BLAS I,II,III with Intel MKL 3.2.1 Add-on packages available: statistics and dsp. Interfaces Intel NSP for vector operations. Supports SMP for matrix operations. Single and/or double precision supported. Intel Itanium (IA64) ready. Bottom up complete support for complex numbers. Results in 50 to 100aster code then fastest possible structred code (plain procedures) written in C/C++. Design structured in three layers: procedural, object and component; ensures good scalability. Trading space for time technology. Introduces object caching. Trading safety for time technology. Allows user controllable range checking. CPU specific optimizations supporting: PI,PII,PIII. Extreme ease of use and very short time to implement. Ideal for algorithm prototyping. Built in dynamic memory management with extensive support for debugging. Allows completely matrix-vector oriented programming. Requires only CBuilder standard. Support for future CPU instruction sets, without application recompile. (DLL replacement)

    Demo (4.5 MB) includes performance and code demonstrations, trial version and complete help system.

    A new version 2.0 of MtxVec has been released..

    MtxVec adds the following capabilities to C++Builder and .NET development environment:

    • Comprehensive set of mathematical and statistical functions
    • Substantial performance improvements of floating point math by exploiting the P4 SSE2 and SSE3 instruction sets
    • Improved compactness and readability of code.
    • Significantly shorter development times by protecting the developer from a wide range of possible errors.
    Typical performance improvements observed by most users are 2-3 times for vector functions, but speed ups up to 10 times are not rare. The matrix multiplication for example is faster up to 20 times. For .NET applications these factors should be multiplied by about 1.3. All comparisons are against classic floating point assembler (!).

    Key new features:

    • very fast and clean operator overloading
    • features a very large set of vectorized math functions

    Operating Systems

    • PC 32-bit Windows

    Compilers

    • Cbuilder
    • Microsoft .NET

    Added : 2000-08-15 Amended: 2004-12-17 Licensing : Commercial

    Add a comment

    NeoAccess Developer's Toolkit - Cross-platform object database engine for C++ development

    NeoAccess(TM) is a full-featured object database engine for use in Windows, Macintosh, Unix and DOS based applications. NeoAccess's feature set include: Blobs, part lists, iterators, swizzlers, temporary objects, multiple indices on a class, a powerful relational object query mechanism, a very small memory and file footprint and a streams-based I/O model. NeoAccess has the complete set of features that in-house and commercial developers need and an easy to use programming interface that hides internal complexity to keep C++ developers productive.

    In much the same way that application frameworks are used to construct the front-end of an application, NeoAccess is the framework developers use to build an application's back-end. NeoAccess is a set of C++ classes that naturally extends standard application frameworks such as Metrowerks' PowerPlant, Symantec's THINK Class Library and Apple's MacApp on the Macintosh and Microsoft's Foundation Classes, Inmark's zApp and Borland's ObjectWindows in Intel-based environments. NeoAccess is very portable and can also be used without an application framework.

    NeoAccess comes complete with full source code. The same NeoAccess source code can be used to build Windows ('95, NT and 3.x), Macintosh, Unix (all platforms) and DOS applications. The programming interface is virtually identical in all environments. NeoAccess-based applications produce single file documents that are binary-compatible across platforms. That is, a database built on one platform can be used on any other platform without conversion.

    The NeoAccess Developer's Toolkit is priced at $749 per developer with no runtime licensing fees. It includes full source code, numerous sample applications, 450+ pages of documentation, and 30 days of online technical support.

    Operating Systems

    • PC DOS
    • Unix
    • PC Windows
    • Mac

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

    Add a comment

    NetClasses++ - C++ classes for message passing environments:

    NetClasses is a set of C++ class libraries that is organized as an object- oriented software toolkit for distributed, message-passing based programming.

    Facilities include :

      Transporting objects over a network. NetClasses can transport: Arbitrary C++ objects derived from PostModern's TransObject class, arbitrary NIH- derived objects, and NetClasses Typed Objects.
    • NetClasses Typed Objects provide an object-oriented data transport in which the structure and organization of objects is specified externally in configurable files using a simple, programming language independent abstract syntax notation, the NetClasses Abstract Syntax Notation (NASN).
    • Remote method invocations (RMI). Using RMI, an application on machine B can invoke a method on machine A. RMI makes fault tolerance and connection management transparent to the application programmer. The RMI layer is built on top of the distributed services package that is described below.
    • Reading and writeing all three varieties of NetClasses-transportable objects on streams using machine-independent external representations.
    Prices :
    • NetClasses Development License $1995
    • NetClasses Runtime License $495
    • NetClasses Source Code License $7995 (includes 3 runtime licenses)
    • NetClasses training class $2000
    • NetClasses consulting and porting services (ask for quote)

    Operating Systems

    • Sparc

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

      NetClasses++ - C++ classes for message passing environments:
    • Tel:1-800-245-UNIX
    • Tel:(415) 572-0200
    • Postal address:Qualix Group, 1900 S. Norfolk St. Suite 224, San Mateo, CA 94403
    • Fax:(415) 572-1300
    Add a comment

    NeXTStep - application development toolkit

    NeXT

    Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

    Add a comment


    NuGraf - Deveoper's 3D Toolkit

    The NuGraf Developer's 3D Toolkit is a powerful and general purpose 3D graphics framework (in C, but C++ type-safe) providing full-featured hierarchical database management, modeling and high-quality "photo-realistic" rendering capabilities. The toolkit is designed as a complete "drop-in" solution for third party software vendors seeking to quickly and efficiently incorporate high quality 3D computer graphics into their software packages.

    The toolkit provides all of the necessary components to build a complete interactive 3D modeling and rendering system. These components include a state-of-the-art "photo-realistic" renderer, modeling and database management, coordinate space mapping, object and polygon picking, automatic smoothing and processing of raw polygonal data (useful for DXF file import), as well as optimized wireframe output for fast interactive data manipulation.

    The toolkit also handles all aspects of the 3D rendering process, alleviating the host application from dealing with such mundane tasks as error handling and recovery, color output conversion (for those output devices with few colors) and file/display output. It features all of the functionality normally associated with a high-end rendering system but neatly packaged into componentized modules.

    NuGraf is ideally suited for:

    • Inclusion into CAD packages which have a graphical user interface and existing 3D modeling capabilities, but no rendering features.
    • 3D applications with weak or older renderers, or those that depend upon slow ray tracing.
    • 3D applications which currently use real-time, medium quality renderers such as Open GL or 3DR.
    • Developers writing 3D modeling applications which require powerful rendering capabilities, color conversion and scanline output to various devices.
    • Any developer wishing to create a 3D modeling and rendering system from the ground up.
    • 3d font creation programs.
    Pricing: Development licences = $3500 for "Application Builder" version, $995 for "Render Extender" version. Royalties apply for commercial applications developed with the toolkit.

    Highly portable, inquire about other platforms. Please refer to WEB site for further information, online API spec, extensive slide show and pricing.

    Operating Systems

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

    Compilers

    • GCC
    • Sun CC
    • Watcom C++

    Added : 1996-02-05 Amended: 1996-02-05 Licensing : Commercial

    Add a comment

    OptSolve++ - Software components for nonlinear optimization (formerly LION++)

    The OptSolve++ class libraries provide a convenient and extensible interface for nonlinear optimization of user-specified functions.

    The following multidimensional algorithms have been implemented:

    • nonlinear simplex (no derivative required)
        Powell (no derivatives required) -- uses Brent line search
          conjugate gradient (requires gradient of function) -- uses modified secant line search
            Levenberg-Marquardt -- for nonlinear least squares problems -- uses Broyden's method to estimate the Jacobian if function gradients are not available
              bound constraints (uses variable transformation approach)
            OptSolve++ also includes a reference counted linear algebra library.

            The next release will include algorithms for:

            • general nonlinear constraints, using a penalty function approach
                multidimensional nonlinear solvers for root-finding Compiled versions of OptSolve++ are available to beta-testers for 17 OS/compiler combinations. Much of the source code is also available.

                Operating Systems

                • Linux
                • PC 32-bit Windows
                • IBM AIX
                • Solaris
                • HP UX
                • Dec Unix
                • Mac
                • Irix

                Compilers

                • Visual C++
                • GCC
                • Dec CC
                • SGI CC
                • MetroWerks CodeWarrior
                • Borland C++
                • KAI C++
                • egcs

                Added : 1998-12-03 Amended: 1999-09-30 Licensing : Commercial

                Add a comment

                Performance Plus for C/C++ is an optimized and par - BLAS, LAPACK, FFTPACK, VFFTPACK in C++

                Performance Plus for C/C++ is an optimized and parallelized class library that encapsulates the functionality of levels 1, 2, and 3 of BLAS, LAPACK, LINPACK, FFTPACK, and VFFTPACK. It is available for Solaris 2.x, Windows NT, and Windows 95.

                Operating Systems

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

                Compilers

                • Visual C++
                • Sun CC
                • Apogee CC
                • Borland C++
                • Sparcworks

                Added : 1997-11-27 Amended: 1997-11-27 Licensing : Commercial

                Add a comment

                SoftIntegration Graphical Library (SIGL) - C++ Graphical Library for 2D/3D plottings

                SoftIntegration Graphical Library (SIGL) is a cross platform C++ graphical library from SoftIntegration. It provides the simplest possible solution for 2D/3D graphical plotting within the framework of C/C++ for rapid application development.

                Plots can be generated using SIGL for display in a local monitor, through the Web, or saved in a file with a variety of different file formats. The graphical library is for applications where the convenience of use, speed and performance matter.

                With our Graphical Library, you can design and deploy the graphical application running across different platforms. SIGL contains a C++ plotting class with many member functions for visualization. It simplifies the graphical plotting for C++ users. You can compile and link your code with the Graphical Library in your desired C++ compiler.

                It costs $299 for commercial use and $199 for academic use. More information can be found at http://www.softintegration.com/products/silib/graphlib/

                Operating Systems

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

                Compilers

                • Visual C++
                • GCC
                • Sun CC
                • HP C++

                Added : 2004-07-19 Amended: 2004-07-20 Licensing : Commercial

                Add a comment

                Commercial libraries (O-Z)

                ObjectBuilder - GUI library

                ObjectBuilder includes the Object Interface (OI) class library which is a C++ object-oriented implementation of both Motif and Openlook interfaces. Note that interested parties can read more about the OI library in the 1300 page "OI Programmer's Guide" by Gary Aitken and Amber Bensen published by Prentice-Hall.

                ObjectBuilder is a GUI that offers developers a complete C++ implementation of Motif. ObjectBuilder allows developers to rapidly design, test, modify and implement sophisticated object-oriented graphical user interfaces by using ObjectBuilder to manipulate C++ objects found in its Object Interface (OI) C++ class library.

                ObjectBuilder features a drag-and-drop user interface that allows developers to immediately visualize the results of their user interface design.

                ObjectBuilder is owned and supported by Openware Technologies, Inc.. Formerly owned by ParcPlace Systems, Openware recently acquired ObjectBuilder.

                Operating Systems

                • SCO Unix 3.2.4
                • SGI Irix
                • IBM AIX
                • Solaris
                • HP UX
                • Dec Alpha
                • Unisys Unixware
                • NCR SVR4

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  ObjectBuilder - GUI library
                • Tel:1-800-933-5558 x4224 (Kris Gottschalk)
                Add a comment

                Objective Grid - Visual C++/MFC grid control

                Stingray Software offers two Visual C++/Microsoft Foundation Class extensions: Objective Grid and SEC++.

                Objective Grid is a full-featured grid control that can be used as a CView or CWnd derivative.

                All products include source code and are royalty free. Objective Grid is $395. There is a bundle with SEC++ available for $795.

                Compuserve: GO STINGRAY

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment

                Objectivity/DB - Object Oriented Database

                Operating Systems

                • Sparc
                • SGI Irix
                • IBM AIX
                • HP 9000

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment

                OBJECTSTORE - Object Oriented Database

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  OBJECTSTORE - Object Oriented Database
                • Tel:617-270-9797
                • Tel:(415) 327 - 5191
                • Tel:44-793-486111
                • Postal address:Object Design, One New England Executive Park, 101 El Camino Real, Suite 300, Burlington, MA 01803,, Menlo Park, CA 94025
                • Postal address:UK Office: Object Design (UK) Ltd., 604 Delta Business Park, Welton Road, Swindon, Wiltshire SN5 7XP
                • Fax:617-270-3509
                • Fax:44-793-491177
                Add a comment

                ObjectViews

                I believe this is a commercial version of InterViews.

                Quest Systems

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

                Add a comment

                ObjexxFCL - Fortran Compatibility Library

                ObjexxFCL is a C++ library that provides Fortran-compatible array, string, formatted i/o, and intrinsic function support for Fortran-to-C++ interfacing and migrations, as well as reengineering and modernization of C++ applications. The ObjexxFCL multi-dimensional arrays have advanced high performance and dynamic allocation and resizing capabilities. A unique automatic allocation system is ideal for applications migrating from static sizing or when the size parameters become known at different stages of a run.

                Operating Systems

                • Platform-independent

                Compilers

                • Any standard C++ compiler

                Added : 2011-04-20 Amended: 2011-04-20 Licensing : Commercial

                Add a comment

                Octo+ - Extenstion library to MFC

                The Octo+ MFC class library is an extenstion library to MFC. Subscription entitles you to the use of all the classes developed for the duration of a year. There is a commitment to issue a new class every two weeks. De facto at least one new class is added every week. You could compare it to the subscription to an online MFC source magazine. The class library is accessible at : www.periphere.be where you can get all the latest information up-to-date. New classes issued are eMailed to registered users.

                Operating Systems

                • PC Windows

                Compilers

                • Visual C++

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment

                ONTOS - Object Oriented Database

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  ONTOS - Object Oriented Database
                • Tel:617-272-7110
                • Tel:+44 625 539 903
                • Postal address:Ontologic, Inc., Three Burlington Woods, Burlington, MA 01803
                • Postal address:UK: VALBECC SOFTWARE, Mr. Fred Peel, 115 Wilmslow Road, Handforth,, Wilmslow, SK9 3ER, U.K.
                • Fax:617-272-8101
                • Fax:+44 625 539 905
                Add a comment

                Open Dialogue

                Operating Systems

                • HP UX

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment


                Open Interface Version 3.0

                This is a C-based UI library, but type-safe for C++ compatibility. The software also comes with a WYSIWYG GUI builder.

                They include tons of extra widgets like business graphics (bar, pie, and line charts), images (all standard formats), and hypertext help.

                Other software in Open Interface includes international character support, multi-font support, full printer support, memory management, file I/O support as well as Windows DDE support (the latter is, of course, non- portable).

                They also have a product called Nexpertobject, which is an expert systems tool intended for GUI development.

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  Open Interface Version 3.0
                • Tel:(800) 876-4900
                • Tel:(415) 321-4488
                • Postal address:Neuron Data, 156 University Avenue, Palo Alto, California 94301
                Add a comment

                OpenUI - Another GUI builder

                This interface supports C, Pascal, and (ish) COBOL.

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  OpenUI - Another GUI builder
                • Tel:(408) 730-2626
                • Postal address:Open Software Associates, P.O. Box 3599, Sunnyvale, CA 94088-3599
                Add a comment

                ORION/ITASCA - Object Oriented Database

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  ORION/ITASCA - Object Oriented Database
                • Email:doug@itasc.com
                • Tel:612-851-3158
                • Tel:(612) 851-3155
                • Postal address:Itasca Systems, Inc., 2850 Metro Drive, Suite 300, Minneapolis, MN 55425
                • Postal address: Itasca Systems, Inc., 7850 Metro Parkway, Minneapolis, Minn 55425
                • Fax:612 851 3157
                Add a comment

                OS Object Oriented Database

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  OS Object Oriented Database
                • Email:didier@o2tech.fr
                • Email:o2@o2tech.fr
                • Tel:+1 617 621 7041
                • Tel:+33 1 30 84 77 9
                • Postal address:O2 technology, Suite 2200, 1 Kendall Square, Cambridge MA 02139, U.S.A.
                • Postal address:France: O2 Technology, 7, Rue du Parc de Clagny, 78035 Versailles Cedex, France
                • Fax:+1 617 577 1209
                • Fax:+33 1 30 84 77 90
                Add a comment

                Performance Plus for C/C++ - Optimized and parallelized math library for Windows NT, Windows 95, and Solaris

                Performance Plus for C/C++ is a native C and C++ implementation of the LAPACK, levels 1-3 of BLAS, FFTPACK, VFFTPACK, and LINPACK math libraries. It is highly optimized and parallelized to take advantage of multiple CPUs when they are available. It includes modules to accelerate programs that use Rogue Wave's Math.h++ and LAPACK.h++ so that Rogue Wave users can get the optimization and parallelization benefits of Performance Plus for C/C++ without making any source code changes.

                Performance Plus for C/C++ is available for Windows NT, Windows 95, Solaris/SPARC, and Solaris/x86. It is compatible with Borland C++, Microsoft Visua!l C++, and Absoft C++ on Windows, and with Apogee and SunSoft C++ on Solaris.

                Operating Systems

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

                Compilers

                • Visual C++
                • Sun CC
                • Apogee CC
                • Borland C++
                • Sparcworks
                • Absoft

                Added : 1998-02-24 Amended: 1998-02-24 Licensing : Commercial

                Add a comment

                Persistence - Access to a relational database from a C++ object model

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  Persistence - Access to a relational database from a C++ object model
                • Tel:415.341.7733
                • Postal address:Persistence Software Inc, 1700 Sourth Amphlett Blvd, Suite 250, San Mateo, Ca 94402
                Add a comment

                POET - Object Oriented Database

                Pricing starts at about $500. 00 for the DOS version, to a little over $1000.00 for the Unix versions.

                Operating Systems

                • PC DOS
                • Sparc
                • OS/2
                • NeXT
                • PC Windows
                • Mac
                • Novell

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  POET - Object Oriented Database
                • Email:poet@bks.de
                • Email:acourt@cix.compulink.co.uk
                • Tel:617 / 621 7047
                • Tel:+49 30 / 342 3066
                • Tel:408 / 748 - 3403
                • Tel:+49 40 / 60 99 011
                • Tel:+44 81 / 317 7777
                • Postal address:BKS Software, One Kendall Square, Suite 2200, Cambridge, MA 02139
                • Postal address:In Germany : BKS Software Guerickestr. 27 1000 Berlin 10 Germany
                • Postal address:BKS Software, 4633 Old Ironsides Drive, Suite 110, Santa Clara, CA 95054
                • Postal address:European Office:, BKS Software, Fo_redder 12, 2000 Hamburg 67, Germany
                • Postal address:UK Office:, Silicon River, Ltd., 106-108 Powis Street, London, SE18 6LU, England
                • Fax:617 / 621 7097
                • Fax:+49 30 / 342 8413
                • Fax:408 / 748 - 9060
                • Fax:+49 40 / 60 39 851
                • Fax:+44 81 / 316 7778
                • BBS:+44 81 / 317 2310
                Add a comment

                ppLinear - General Linear Algebra lib

                A general purpose linear algebra library in C+ also lso provides FFT's and polynomial manipulations. Extremely powerful and requires an adept C++ programmer familiar with the Standard Library. Distributed as a static library and headers. Examples provided. free - currently in beta.

                Operating Systems

                • Cross platform, should work on any.

                Compilers

                • Any standard C++ compiler

                Added : 2008-08-25 Amended: 2008-08-25 Licensing : Commercial

                Add a comment

                Presentation Services Manager UI library

                No WYSIWYG GUI builder exists, but they do include a script language.

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  Presentation Services Manager UI library
                • Tel:+61 3 646 7100
                • Postal address:Lancorp Pty Ltd, 33 Nott St, Port Melbourne 3207, Australia
                • Fax:+61 3 646 8610
                Add a comment

                Quick Thread - QuickThread is a C++ runtime library and paradigm for multithreaded applications

                QuickThread is a C++ runtime library and programming paradigm for writing multithreaded applications in 32-bit and 64-bit environments using C++, FORTRAN and mixed language programs.

                QuickThread is affinity capable supporting thread affinity, data binding affinity and NUMA support.

                QuickThread is a tasking system using thread pools and provides exceptional control over task scheduling with respect to cache levels, core placement, and thread availability.

                The design goal of QuickThread is to produce a minimal overhead mechanism for distributing work in a multi-socket, multi-core, multi-threaded environment.

                Operating Systems

                • PC 32-bit Windows
                • PC Windows

                Compilers

                • Visual C++

                Added : 2009-12-02 Amended: 2009-12-02 Licensing : Commercial

                  Quick Thread - QuickThread is a C++ runtime library and paradigm for multithreaded applications
                • Quick Thread Home Page
                • Submitted by:Kizza George Mbidde
                Add a comment

                Rhine collection - C++ functions for Name Matching

                To provide a computer name matching system where the strings are not identical eg to match "The Megaland (USA) Corp" with "Megaland USA Corporation"

                short list of features:

                • includes both exact and standard matching;
                • written as a binary tree for speed;
                • no built in limitations on number of names to match or length of names.
                C++ code is fully standard - verified by PC-lint [tm] version 7.0

                Licence contains normal range of conditions - software may be used in customers own products subject to number of straightforward conditions.

                Added : 1996-11-13 Amended: 1996-11-13 Licensing : Commercial

                Add a comment

                Rogue Wave SourcePro C++ - C++ libraries

                Rogue Wave® SourcePro® C++ is a set of cross-platform enterprise C++ development components. Have been around for more than a decade now, deployed in some of the world's most sensitive mission-critical systems.
                • SourcePro® Core offers an extensive set of fundamental C++ components -- containers, strings, serialization, file and directory manipulation, localization support, synchronization and multi-threading support, etc. -- that present a consistent, uniform, and portable API for developing applications.
                • SourcePro® DB abstracts the complexity of writing database applications, yet allows developers to drill down to the native database client libraries if needed.
                • SourcePro® Net lets developers create secure and non-secure networked and Internet-enabled applications by handling the granular details of socket programming and Internet protocols that expedites the timely delivery of quality applications.
                • SourcePro® Analysis contains a full range of C++ components for solving mathematical problems in business and research. The algorithms they encapsulate can be relied upon for accurate and precise calculations.
                (Note: the Tools.h++ libraries shipped with the Sun C++ compiler are a very early, limited OEM version of the current Rogue Wave offering).

                Operating Systems

                • Linux
                • PC 32-bit Windows
                • IBM AIX
                • Solaris
                • HP UX
                • PC Windows
                • IA64 Windows XP

                Compilers

                • Visual C++
                • GCC
                • Sun CC
                • HP C++
                • Intel C++

                Added : 2008-10-03 Amended: 2008-11-04 Licensing : Commercial

                Add a comment

                rxstring - Regular expression library.

                The rxstring library is an extension of the C++ stdlib string class. The rxstring class is a powerful alternative to traditional regular expression libraries. Because the syntax used by traditional regular expression packages is difficult to learn, rxstring uses a alternative notational system that is much easier to learn to read and write. Because indirection is a fundamental programming technique, rxstring regular expressions can be nested within each other using labels. Also the regular expressions can be self referential, this makes it possible to write very powerful regular expressions that can validate input just as a recursive descent parser does, but without the hassle of hand coding or resorting to a tool like yacc or bison. rxstring has much more than the usual search and match functions, There are a large number of functions that aid in validating, parsing, and modifying text. In spite of the number of functions, there is an underlying system that makes it easy to recall the entire library off the top of your head without much effort.

                Operating Systems

                • PC 32-bit Windows

                Compilers

                • Visual C++

                Added : 2001-10-18 Amended: 2001-11-01 Licensing : Commercial

                Add a comment

                SCSI++ Class Library - SCSI++ is a C++ OO library which simplifies access to SCSI peripherals

                The SCSI++ version 2.5 SDK is now available. Quickly and easily develop SCSI control applications for Windows NT 4.0, Windows 2000, or Windows 9X using an Object Oriented Interface.

                No more messing around with ASPI32 and IOCTL interfaces. No more deciphering the SCSI specification. An application can execute SCSI commands on any Windows system using the same binary. Use High Level C++ classes and methods to control any SCSI Devices. Roll your own commands easily. Update mode page data easily. Version 2.5 has the capability to control ATAPI CD-ROM and CD-R devices.

                Operating Systems

                • PC 32-bit Windows

                Compilers

                • Visual C++
                • IBM Cset++

                Added : 2000-05-18 Amended: 2000-05-18 Licensing : Commercial

                Add a comment

                SEC++ - Visual C++/MFC controls

                SEC++ includes: CView derivatives for panning and zooming, image classes (DIB/GIF/JPG/PCX/TGA/TIFF), MDI alternatives, Win32 classes and control classes (maskedit, splash screen, tip of the day).

                All products include source code and are royalty free. SEC++ is $395. There is a bundle with Objective Grid available for $795.

                Compuserve: GO STINGRAY

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment

                SOFTPRO TOUCH - GUI C++ class library for OS/2:

                SOFTPRO GmbH has announced its new 32bit C++ class library TOUCH-GUI 2.1 for OS/2 2.x. The product contains more than 140 classes which support windows, menu bars, multi-threading, controls (including all OS/2 2.x controls: slider, value set, notebook, container), dialog boxes, graphics, printer control, MDI, DDE, Drag and Drop, loadable resources, and management of profiles (.INI files). Other features include auxiliary classes for data manipulation and storage management. Additionally, TOUCH- GUI 2.1 contains high-level classes like formatted entry fields, tables, and complete NLS. Furthermore, TOUCH-GUI 2.1 is fully integrated in STAR CASE++, an OOA/OOD case tool (method: Coad/Yourdon), and Intersolv's PVCS (a version control system).

                The product includes online (.INF) and printed documentation, a demo program, and samples.

                TOUCH-GUI 2.1 costs DM 1.720,00 excl. VAT (ca. US $990), the runtime DLL's may be distributed royalty free. For upgrade prices and special project licenses (including source code of TOUCH-GUI) contact the supplier. NOTE: TOUCH-GUI 2.1 single license will be available at a special price of DM 199,00 excl. VAT (ca. US $120) during 04/01/94 - 06/30/94. Printed documentation is not shipped with the special price product, it is available for another DM 99,00 excl. VAT (ca. US $60). However, full online documentation is included.

                Operating Systems

                • OS/2

                Compilers

                • GCC
                • Borland C++
                • Watcom C++
                • IBM Cset++

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  SOFTPRO TOUCH - GUI C++ class library for OS/2:
                • Email:ffu@softpro.de
                • Tel:+49 7031 6606-0 Mr. Frank Fuchs (extension -50)
                • Postal address:SOFTPRO GmbH, Stadtgrabenstr. 21, D-71032 Boeblingen, Germany
                • Fax:+49 7031 6606-66
                Add a comment

                StarView - A Portable C++ Class Library for Graphical User Interfaces

                StarView is a portable C++ Class Library for Graphical User Interfaces. StarView is one of the major parts of our total Object Oriented programming environment (we call it SOLAR system).
                • portability between the operating systems MS-DOS, OS/2, Macintosh and different UNIX flavours
                • at least portable between the GUI's MS-WINDOWS, MS-Presentation Manager, MacApp and OSF/Motif
                • fulfillment of the requirements of the different GUI Style Guide's
                • data exchange and direct communication between the applications in homogeneous and heterogeneous networks (groupware approach)

                Operating Systems

                • Sun
                • OS/2
                • PC Windows
                • Mac

                Compilers

                • Borland C++
                • Zortech C++
                • Glockenspiel C++
                • MPW C++

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  StarView - A Portable C++ Class Library for Graphical User Interfaces
                • Email:svinfo@starlab.uucp
                • Email:svinfo@stardiv.de
                • Tel:++49 40 23646 500
                • Tel:(800) 888-8527
                • Postal address:STAR DIVISION GmbH, Andreas Jahnke, Sachsenfeld 4, D-20097 Hamburg, Germany
                • Postal address:Star Division, 2180 Sand Hill Road, Suite 320, Menlo Park, CA 94025
                • Fax:++49 40 23646 550
                • Fax:(415) 233-0142
                • Author:Andreas Meyer, STAR DIVISION
                Add a comment

                Thames Calendar Suite - Collection of functions for the modern calendar

                This provides a complete collection of functions for the modern calendar.

                How many days between dates?, What is 3rd Tuesday of month, How many business days in period?

                Short list of features:

                • Comprehensive collection for timeseries, project control, financial markets accountancy;
                • writing dates to text, interpreting dates from text in almost any format;
                • tool kit to define bank holidays, incl Easter in western and eastern churches;
                • conversion between Gregorian Hebrew and Julian calendar.
                Inclusive Price around 215 UK pounds ie around 340 US dollars.

                C++ code is fully standard - verified by PC-lint [tm] version 7.0

                Licence contains normal range of conditions - software may be used in customers own products subject to number of straightforward conditions.

                Added : 1996-11-13 Amended: 1996-11-13 Licensing : Commercial

                Add a comment

                Time Series API - Professional time series modelling and simulation library for C++

                Time Series API is a professional C++ class library for simulating (backtesting) and deploying financial trading strategies as well as general purpose time series modelling. The library is a stand-alone time series engine that can be extended via a component object model. Models are defined using 'formula syntax and semantics' made possible by a set of lightweight interface classes that supersede the component framework. The library supports the modelling of even the most complex ideas, is easily extended, and supports deployment in any timeframe (variable or fixed, with intervals as short as one millisecond). The library also benefits from a set of highly optimized database classes for reading and writing millions of records in seconds. As a general purpose tool for modelling time series, Time Series API has applications in many domains, such as:
                • Trading and investment strategy simulation and deployment:
                  • Individual market and inter-market models
                  • Iterative evaluations on baskets
                  • Evaluation on aggregates (e.g. custom indices)
                  • Fundamental company data models
                • Economic modelling
                • Time series normalization and processing:
                • Normalizing neural training data
                • Data transformations
                • Timeframe conversions
                • Data monitoring (e.g. financial, scientific):
                  • Notification
                  • Pattern recognition
                  • Filtering applications, (e.g. noise reduction)
                • Computational modelling
                • Genetic algorithms

                Operating Systems

                • PC DOS
                • PC 32-bit Windows
                • PC Windows

                Compilers

                • Any standard C++ compiler

                Added : 2009-08-10 Amended: 2009-08-10 Licensing : Commercial

                  Time Series API - Professional time series modelling and simulation library for C++
                • Download Page
                • Home Page
                • Submitted by:Peter Ritter
                Add a comment

                Tools.h++ - Rogue Wave tools library.

                Tools.h++ consists mostly of a large and rich set of concrete classes that are usable in isolation and do not depend on other classes for their implementation or semantics.

                Components include Collections, String processing, Time & date handling, File space manager, B-Tree disk retrieval, bit vectors, virtual I/O streams, caching managers, virtual arrays, etc.

                Added : 1995-01-01 Amended: 1996-05-22 Licensing : Commercial

                  Tools.h++ - Rogue Wave tools library.
                • Email:info@roguewave.com
                • Tel:(503) 754-2311
                • Postal address:Rogue Wave Software, Inc., 1325 NW 9th Street, Corvallis, OR, 97330
                • Fax:(503) 757-6650

                Comment from : Jean-Daniel NICOLET on 2011-12-15

                Tools.h++ was once one of the best general purpose C++ library available. Its container classes were well-designed, offering template-based as well as non-template based classes. Its string and container classes have nowadays been superceded by the standard library, which offers essentially the same (and even better) features essentially for free. Two things remain interesting with Tools.h++: its persistence mechanisms, coupled with portable streams allowing to transport objects accross platforms, and its associated twin library, DbTools.h++, that was ahead of its time for allowing portable database access with a C++ way of defining SQL-like queries, based on template meta-programming tricks that were totally non popular at that time.

                Add a comment


                Undoable C++ Object Library - multi-level undo and transaction rollback

                The Undoable C++ Object Library by Notation Software, Inc. supports multiple level undo and transaction rollback.

                This C++ library implements an object-oriented approach for reversing transactions at the C++ object level. A transaction consists of a series of three types of operations on objects: creation, modification, and deletion. The reversal (undo) of the transaction is implemented by effectively deleting the originally created objects, restoring the state of the modified objects, and effectively re-creating the deleted objects. References between objects are properly restored. This approach can significantly reduce the cost of implementing multiple level undo in an application, compared to a ! procedural "reverse transaction" approach. Object level undo also supports transaction rollback in other scenarios such as caught C++ exceptions.

                The $495 product includes a 100-page tutorial and over 300 pages of documentation in helpfile and printed format. A free demonstration version of the library can be downloaded from the Web site listed below.

                Operating Systems

                • PC 32-bit Windows

                Compilers

                • Visual C++

                Added : 1997-11-27 Amended: 1997-11-27 Licensing : Commercial

                  Undoable C++ Object Library - multi-level undo and transaction rollback
                • Email:info@notation.com
                • Undoable C++ Object Library
                • Tel:(425)688-0793
                • Postal address:Notation Software, Inc., 317-109th Ave SE, Bellevue, WA 98004
                • Fax:(425)688-0795
                • Submitted by:markwa@notation.com
                Add a comment

                USL C++ Standard Components

                Formerly developed and marketed by AT&T Bell Laboratories and UNIX System Laboratories, these are now developed and licensed by SCO.

                C++ Standard Components include :

                • Args - argc/argv command line parser.
                • Bits - bit manipulation to arbitrary-length bitstrings.
                • Block - dynamic arrays.
                • Array_alg - efficient algorithms for searching, sorting, inserting etc.
                • Fsm - finite state machines.
                • G2++ - message formatting for inter-process communication.
                • Graph - maintain arbitrary relationships between arbitrary entities.
                • Graph_alg - including searching, cycle and component detection.
                • ipcstream - inter-process streams.
                • List - doubly-linked lists.
                • Map - like arrays, except that the subscripts can be non-integral.
                • Objection - like UNIX software signals.
                • Path - facilities for manipulating UNIX path names and UNIX search paths.
                • Pool - optimise memory allocation.
                • Regex - regular expressions.
                • Set - including Sets, Bags, and pointer sets.
                • Stopwatch - for timing critical sections of code
                • String - variable-length character strings.
                • Strstream - iostreams for Strings.
                • Symbol - efficient symbol table handling & sorting.
                • Time - Time, Duration (time difference) and Place (geographical location).
                Also included are the following tools :
                • c++filt - demangles C++ names in standard input.
                • dem - demangles C++ names in an argument list.
                • demangle - demangles C++ names in a.out for easier debugging. fs - a tool and library to help find freestore bugs.
                • g2++comp - compiles G2++ record definitions.
                • hier - displays the inheritance hierarchy in a program.
                • incl - displays the hierarchy of include files used in a program.
                • publik - displays the public interface of a class.

                Operating Systems

                • Unix

                Added : 1995-01-01 Amended: 1996-05-22 Licensing : Commercial

                Add a comment

                Valentina - Fast, Cross-platform, Object-Relational SQL database

                Valentina C++ SDK allows embedding of Valentina database into your C++ applications.

                Valentina is an extremely fast and powerful cross-platform, cross-application, Object-Relational SQL database. It executes operations in hundreds and sometimes 1000 times faster than other databases. Valentina has all types of fields from Bit to BLOB and Picture (i.e. allows you easy create multi-media dbs). Valentina provides reach set of features: SQL, full text indexing, RegEx search, encryption, compression, and calculation fields. It can be used with a lot of APIs: C/C++, Java, COM, Director, REALbasic, PHP, Objective-C, AppleScript, xCards, WebSiphon.

                Operating Systems

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

                Compilers

                • Visual C++
                • GCC
                • MetroWerks CodeWarrior

                Added : 2003-12-29 Amended: 2003-12-29 Licensing : Commercial

                Add a comment

                VERSANT - Object Oriented Database

                Versant markets a full-function OODBMS together with associated DBA and application developer tools. Other platforms will be announced soon. A Windows/NT port is in progress.

                Interfaces to 'C', 'C++' and Smalltalk-80 are supported.

                Operating Systems

                • SGI Irix
                • Sun
                • IBM AIX
                • OS/2
                • Sequent
                • NeXT
                • Dec Ultrix
                • NCR SVR4
                • HP 9000

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  VERSANT - Object Oriented Database
                • Email:aflynn@osc.com
                • Email:info@versant.com,
                • Email:info@osc.com
                • Tel:1-800-VERSANT
                • Tel:(415) 329-7500
                • Tel:415-325-2300
                • Tel:(31) 2503-66373
                • Tel:+31 - (0)2503 - 66851
                • Tel:01276 692269
                • Postal address:Versant Object Technology, 4500 Bohannon Drive, Suite 200, Menlo Park, CA 94025, Attn: Mike Mooney
                • Postal address:European Office:, Versant Europe, Siriusdreet 2, P.O. Box 333, 2130 All Hoofddrop, The Netherlands
                • Postal address:UK Distributor:, Admiral Software Ltd, Admiral House, 193-199 London Road, CAMBERLEY, Surrey GU15 3JT
                • Fax:(415) 325-2380
                • Fax:415-325-2380
                • Fax:+31 - (0)2503 - 66855
                Add a comment

                Vettrasoft Z Directory - General-purpose library of c++ objects

                The Z Directory (as of 2010) currently deals with the following subject matter:
                • object - database storage. You can store and retrieve objects, so their state can extend beyond the lifetime of a program's run. This is not the same as an o-o database. The Z Directory provides a simple mechanism for writing objects to a database, but it does not supply the database.
                • data representation. "Data bags" are a way to store data in text stings. The data may be put into lists or a matrix and can recurse. The format is defined by a meta-data schema. This may sound suspiciously like XML. Once again, the data bag concept pre-dated XML, having existed in the early- to mid-1990's. Whereas XML focuses on HTML and web applications, data bags are to be used by programs written in C++.
                • message transport. The problem of moving a block of bytes from one place to another is a major topic in software engineering usually assigned to the category of networks. the Z Directory has code to do it with the following defining characteristics: (1) an address class set is provided to address the topic of defining a location. There are many types of addresses: internet, web, computer memory, e-mail, postal, etc. (2) the interface for moving a block of data over a circuit (a path between an originating and destination address) has no reference to the implementation. Typically the mechanism is sockets, but with the Z Directory, this can also be via shared memory (if within the same host computer), TLI (if within a system V unix environment), or other transport system.
                • containers. The Z Directory provides template-based containers to store your data: linked lists, arrays, stacks, and [coming soon] trees. You will probably immediately think STL. the Z Directory's container interface is a bit different, and you might find, simpler. The same member function names are used irregardless of the implementation. Peering into your data in a debugger is much easier than with STL. There are other differences.
                • string and text processing. One common complaint opponents of C++ use is the lack of tools for managing strings. The Z Directory attacks and destroys this argument. String operations include regular expression searches; extracting words, sentences, and quoted text sub-strings; trimming lines; string to type conversion; monetary formatting; concatenation; white-space processing; and much more.
                • encryption. There are a number of encryption and decryption algorithms available for encrypting your data, including Chambers-Rantgen, DES, and Blowfish.
                • postal addresses. Strings containing addresses can be easily parsed. Currently only American addresses are fully handled. We expect to grow this to encompass all addressing formats used world-wide.
                • mathematics. Several math functions are provided, including factoring, modulus, GLB and LUB, summation of a series, random number generation, linear regresion, mean averages, standard deviations, angle math and conversion (degree - radian), etc.
                • time and date. If you ever need to get the current time/date, and then add or subtract a span of time to/from it, the Z Directory provides unparalled ease for that. You can add say 1 week 3 days and 15 hours to any given date and get the result with only a couple lines of code.
                • threads and semaphores. In a Microsoft environment, you would need to use functions such as CreateMutex(), WaitForSingleObject(), and ReleaseMutex(). In some unix environments, the corresponding calls would be pthread_mutex_init(), pthread_mutex_lock(), and pthread_mutex_unlock(). Or, you can use the Z Directory and use a single function call, instead of learning the specifics for each operating system to intend to port to.
                • clients and servers. There are a set of classes dealing providing client-server architecture. A dispatch mechanism forwards a message to your message processing code when it arrives to a server.
                • error processing, logging, tracing and debugging. An elaborate but general-purpose group of classes help you manage what to do in case of an error, above and beyond the simple mechanics embedded in c++. You can create event logs and control when a message is to be generated. You can control when a message is created, and to where it is to go.
                • Files and directories. In Microsoft, directories are called folders. Once again, by using the Z Directory you need not concern yourself with the specifics of any particular operating system. How to read the contents or traverse them is handled by a simple set of classes and routines in the Z Directory. Creating, removing, renaming, opening and closing a file or directory are handled in a portable fashion. You can do things like add text to a file, get a line of text or a specific number of characters.
                • more, including: e-mail management; exam questions and answers; money operations; packetization; HTML operations; and classes for worldy items such as people, businesses, and telephones.

                One fact: Z Directory is devoid of graphics utilities. Writing tools for GUI programming is a specialized, big, never-ending work sink. We have decided to focus on more 'framework' issues. Also, there are plenty of libraries out there dealing with GUIs and graphics.

                Operating Systems

                • PC Windows

                Compilers

                • Visual C++

                Added : 2012-04-25 Amended: 2012-04-25 Licensing : Commercial

                  Vettrasoft Z Directory - General-purpose library of c++ objects
                • Home page
                • Submitted by:Gorth Durak
                Add a comment

                ViewKit ObjectPak - application framework for developing OSF/Motif and CDE applications using C++

                ViewKit includes generic application classes, menu, dialog, and preference classes; as well as ToolTalk and UNIX process control systems.

                ViewKit ObjectPak builds on the C++/Motif programming methods established by Doug Young in his book "Object-Oriented Programming with C++ and OSF/Motif". ViewKit ObjectPak provides a variety of ready-to use components and enables developers to easily extend ViewKit by creating new component classes. With these high-level components, ViewKit ensures consistency throughout a family of applications, and promotes enterprise-wide software reuse. In addition, ViewKit supports easy and effective communication between applications by using ToolTalk(tm), the CDE standard for inter-application messaging.

                ViewKit ObjectPak is available in binary and source form. Originally developed by Silicon Graphics, ViewKit is now available through ICS for most UNIX platforms.

                ICS has distributors in the U.K., France, Germany, Italy, Spain, Sweden, Israel, Korea, Japan, and Australia.

                Operating Systems

                • Sun
                • IBM AIX
                • Solaris
                • HP UX
                • Dec Unix
                • SCO Open Desktop

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  ViewKit ObjectPak - application framework for developing OSF/Motif and CDE applications using C++
                • Email:info@ics.com
                • Tel:(617) 621-0060
                • WWW http://www.ics.com/
                • Postal address:Integrated Computer Solutions, Inc. 201 Broadway Cambridge, MA
                • Fax:(617) 621-9555
                Add a comment

                Visibility for C++ - Create Windows GUI's without using any UI code

                Visibility for C++ is a revolutionary new product for creating user interfaces. It enables object systems written in C++ to be visualized and interacted with via a state of the art GUI on the Windows platform and it accomplishes this without requiring any UI code to be written, generated or otherwise created. User Intefaces that would normally take weeks or even months to create, can be created in no time at all.

                Visibility for C++ is the first in a series of products that utilize a new technology called Outerfacing. This new technology embodies a powerful new paradigm for creating User Interfaces for object systems called Object Visualization. This paradigm replaces the Model-View-Controller (MVC) paradigm on which almost all current UI technology is based. By utilizing the inherent structure found in an object system, it eliminates the need for the View and Controller portions of the MVC paradigm and all its attendant code requirements. In their place Object Visualization gives the objects in the object system the inherent ability to be visualized and interacted with directly.

                Instead of having to write large amounts of UI code to implement the view and controller as is required with the MVC, Object Visualization places an outer face of UI elements over the object system structure and utilizes the internal state of the objects to control their appearance and behavior. This enables the entire UI for an object system to be created interactively while the program is executing without having to write any code.

                Since creating the UI often accounts for over half of the entire programming effort, we firmly believe that this new paradigm is going to revolutionize the way that User Interfaces are developed.

                Operating Systems

                • PC 32-bit Windows

                Compilers

                • Visual C++

                Added : 2002-09-20 Amended: 2002-09-20 Licensing : Commercial

                Add a comment

                Warne's Garbage Collector (WGC)

                WGC is a full-featured high-performance C++ memory manager that includes:
                • an incredibly fast explicit memory manager (drop-in new/delete)
                • a parallel incremental generational non-copying collector
                • a transparent just-in-time heap-checker
                WGC's fast explicit memory manager provides a drop-in accelerated new/delete. Using a multi-tiered parallel algorithm with the first tier inline, WGC can allocate most objects inline in less than 10 instructions! To enhance space efficiency WGC uses address-aligned storage algorithms with no per-object overhead (no linked lists!). To reduce fragmentation, WGC maintains a single process free store for all threads, modules, and DLLs.

                WGC's collector implements both conservative and accurate scanning and fully supports C++ code. Classes, arrays, scalars, interior pointers, unions, cross-heap pointers, anonymous unions (really!), large objects, library code you have no control over, etc. are all supported. Plus, you can incrementally deploy automatic memory management in existing or new applications, making some classes or objects collected and some not.

                WGC's just-in-time heap-checker stays active during the entire development cycle, transparently checking every new and delete. If a check fails, WGC will spawn your debugger and take you live to the line in question. To complement the live access to the line that failed a delete check, WGC provides detailed pointer/object info (allocating thread/line/file/pass count, object allocation time in microseconds, etc.) Debugging extensions allow interactive display/logging of object/pointer status and process stats.

                WGC is currently available for all major C++ compilers under Windows NT, Windows 95, and OS/2. WGC is priced at $895 per developer for all platforms, with no royalties. Team & Volume discounts apply. Source available. Ports to other platforms in progress.

                Hans Boehm tells me that this is no longer available.

                Operating Systems

                • PC 32-bit Windows
                • OS/2

                Added : 1995-01-01 Amended: 1997-12-04 Licensing : Commercial

                  Warne's Garbage Collector (WGC)
                • Email:kevinw@reflective.com
                • Tel:(800) 707-7171
                • Tel:(604) 683-0977
                • Postal address:Reflective Software Corp 2660 Estevan Ave. Victoria, BC, CANADA, V8R 2T4
                • Fax:(604) 598-9546
                Add a comment

                Wind/U - Cross platform Windows environment

                Wind/U lets you port existing Windows applications to UNIX, OpenVMS, OS/390, or create new applications for Windows 95, Windows NT, and UNIX environments efficiently and cost effectively. It provides the standard Win32 API and MFC 4 on UNIX, allowing a single set of source code across all platforms. Wind/U applications maintain identical functionality between Windows and non-Windows versions. Features include ActiveX controls, OLE, COM, multithreading, Windows 95 common controls and common dialogs, WinInet, Service APIs, OpenGL, online help, and printing.

                Operating Systems

                • SGI Irix
                • IBM AIX
                • Solaris
                • HP UX
                • Dec Unix
                • IBM OS/390
                • Dec OpenVMS

                Added : 1997-11-27 Amended: 1997-11-27 Licensing : Commercial

                Add a comment

                Wind/U-MFC

                A Unix version of the popular Microsoft Foundation Classes shipped with Visual C++ (a 16-bit MFC 2.5 and a 32-bit MFC 2.1).

                Operating Systems

                • Unix

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment

                WinSockets++ 1.1 - A C++ class library for WinSockets.

                This is more than just a wrapper for the WinSockets calls. It provides higher-level functions that make reading/writing to sockets very easy. Additionally, the Async aspect of the library makes using the asynchronous functionality of WinSockets *very* easy and your code *very* clean.

                It costs $50 which includes full source.

                Operating Systems

                • PC Windows

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                Add a comment

                WNDX - Graphical User Interface development environment

                WNDX was a set of C libraries, NOT (never) C++. The WNDX domain has NOT disappeared. It redirects to the current owner's web site. WNDX has not been actively under development since 2000, however, numerous companies are still using the product to develop and deploy solutions currently. Inquiries can still be sent to info@wndx.com

                Added : 1995-01-01 Amended: 2005-10-31 Licensing : Commercial

                  WNDX - Graphical User Interface development environment
                • Email:info@wndx.com
                • Tel:402-283-6091
                • Postal address:WNDX, Suite 418, 1167 Kensington Cr Nw, Calgary, Alberta Canada T2N 1X7
                • Fax:403-283-6250
                Add a comment

                WSC4C - Windows Standard Serial Communications Library for C/C++

                The Marshallsoft serial communications component library for C/C++ (WSC4C) is a serial communication library based on the Windows serial comm API. WSC4C uses the standard Windows API to communicate with any device connected to a serial port from within a C/C++, Visual C++, C# or .NET application. The component library includes 34 functions plus serial line status & control, modem control, XMODEM and YMODEM, ASCII and ANSI terminal emulation. A good selection of example programs is provided, including console mode and multi-threaded examples as well as Microsoft Foundation Class (MFC) and Borland C++ Builder (BCB) examples.

                Operating Systems

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

                Compilers

                • Visual C++
                • Borland C++
                • Watcom C++
                • Any standard C++ compiler

                Added : 2008-07-29 Amended: 2008-11-04 Licensing : Commercial

                Add a comment

                XVT Portability Toolkit

                This is a C-language library of functions (although, you can pay extra for C++). They have a WYSIWYG GUI builder, but they charge for that, too.

                OPTIONS:

                • C++ capability $200
                • XVT-Design (a WYSIWYG GUI builder) $1200 ($2900 for non-PC UNIX)
                • Source Code (call)

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  XVT Portability Toolkit
                • Email:info@xvt.com
                • Tel:(800) 678-7988
                • Tel:(303) 443-4223
                • Postal address:XVT Software Incorporated, 4900 Pearl East Circle, Box 18750, Boulder, CO 80308
                • Fax:(303) 443-0969
                Add a comment

                zApp Developer's Suite V2.2

                The zApp Developer's Suite is a set of libraries and a designer containing over 300 object classes that provide GUI and other capabilities. It is the single solution to the problem of quickly writing commercial quality applications that run on multiple platforms. The zApp Developer's Suite consists of:
                • zApp, the industry leading C++ application framework
                • zApp Factory, a visual designer and code generator for the zApp environment
                • zApp Interface Pack, a set of powerful custom controls for zApp.
                The software comes with about 2500 pages of documentation and complete on-line help. It costs between $1,000 and $5,000 per developer, depending on the platforms needed.

                Inmark has now apparently been acquired Inmark.

                Operating Systems

                • PC DOS
                • PC 32-bit Windows
                • SGI Irix
                • IBM AIX
                • Solaris
                • HP UX
                • OS/2
                • X Windows
                • Motif
                • PC Windows
                • SCO Open Desktop
                • Unixware

                Added : 1995-01-01 Amended: 1997-11-27 Licensing : Commercial

                Add a comment

                ZGRAF - C++ Multi-Platform Graph Toolkit

                The ZGRAF C++ Multi-Platform Graph Toolkit is a library for generating and printing tech. and business graphs in a number of environments. Graph styles include X/Y, Bar, Pie, Area, Scatter, Polar, Log, 3-D Surface, Contour, Smith Chart, and more. Support for X-Windows soon.Full C++ source code is included. Price: $30 - $99, with no royalties.

                Operating Systems

                • PC DOS
                • PC 32-bit Windows
                • OS/2
                • PC Windows

                Compilers

                • Visual C++
                • Borland C++
                • IBM Cset++

                Added : 1996-02-05 Amended: 1996-02-05 Licensing : Commercial

                Add a comment

                Zinc V4.1

                This is a full C++ class library that comes with the Zinc Designer (a WYSIWYG GUI builder). Their classes include some graphic capabilities, a rather nice error system, and a portable, if rudimentary, help system. Also included is the source for the library (and for the Designer!).

                In addition to the usual GUI stuff, Zinc also provides international character support (an extended version, for extra bux, is in the works), some container classes, and filesystem portability. They also allow you to incorporate platform-specific stuff (e.g., system messages) into their API; but, of course, you're on your own when it comes to porting any additions. The main new feature for 4.1 is object persistence. , (800) 638 8665, (801) 785-8900, (801) 785-8996 (fax), (801) 785-8997 (bbs)

                , tech@zinc.com

                Added : 1995-01-01 Amended: 1995-01-01 Licensing : Commercial

                  Zinc V4.1
                • Email:tech@zinc.com
                • Tel:(800) 638 8665
                • Tel:(801) 785-8900
                • WWW http://www.zinc.com
                • Postal address:ZINC Software Incorporated, 405 South 100 East 2nd Floor, Pleasant Grove, UT 84062
                • Fax:(801) 785-8996
                • BBS:(801) 785-8997
                Add a comment

                Other commercial sources of C++ code

                EMS CD

                This is not a code CD but it has many libraries & some code (all msdos) brought together into a CD.

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

                  EMS CD
                • Email:rbakerpc@aol.com
                • Postal address:EMS Professional Software, Specialized Software Libraries, Baker Enterprises, 20 Ferro Drive, Sewell, NJ 08080
                • Fax:609-582-9204
                Add a comment

                ISCL CD ROM from ImageSoft

                Checkout the ISCL CD ROM from ImageSoft, it contains the largest collection of C++ source code ever compiled in one place. It's available from ImageSoft

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

                  ISCL CD ROM from ImageSoft
                • Email:mcdhup!image!iscl
                • Tel:(516) 767-2233
                • Postal address:ImageSoft Inc., 2 Haven Avenue, Port Washington, NY 11050
                • Fax:(516) 767-9067
                • BBS:(516) 767-9074
                Add a comment

                USL UNIX Toolchest - An electronic catalog for browsing and ordering source software

                This catalog provides unsupported software products, developed within AT&T, for the commercial UNIX world. As you browse through the online catalog, you'll find descriptions of all the tools, complete with information on memory and disk requirements, documentation, and license fees.

                United States and Canada, may access the Toolchest by dialing 1-908-522- 6900(e-7-1) and logging in as "guest".

                Note : The USL UNIX Toolchest is no longer marketed by USL or Novell; it has reverted back to AT&T. The only contact info I have for it is the US number 800-462-8146, option #2.

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

                  USL UNIX Toolchest - An electronic catalog for browsing and ordering source software
                • Tel:800-462-8146, option #2.
                • BBS:1-908-522- 6900
                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) 2024 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.