Available C++ Libraries FAQ

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
  • Our ads
    Buy gold
    Beat the credit crunch - buy gold online - quickly, safely and at low prices
    www.bullionvault.com
    Google
    Trumphurst Home Page
    C++ Usenet Newsgroup
    A Web form for submissions to this list
    Contact the author for permission to distribute

    Copyright (c) 2014 Nikki Locke, Trumphurst Ltd.
    Permission is granted to distribute over the Internet without charge. The author's permission is required (and usually given) to distribute in any other way, including on CD.