Available C++ Libraries FAQLibraries available to download (D-L)DaoLib - Static library for C++ DAO database accessDaoLib 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
Compilers
Added : 1999-06-04 Amended: 1999-06-04 Licensing : Shareware
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
Compilers
Added : 2009-09-28 Amended: 2009-09-28 Licensing : Open Source
dbstreams - database interface library modelled on std::iostreamsdbstreams 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
Compilers
Added : 2012-02-05 Amended: 2012-02-05 Licensing : BSD style
Depression Glass Debug Library - DGDDepression 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
Compilers
Added : 2003-04-09 Amended: 2008-07-22 Licensing : GNU copyleft
Developer - Smart Pointerssmart_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
Compilers
Added : 2006-03-14 Amended: 2006-03-14 Licensing : Public Domain
Developer - EzLoggerEzLogger 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
Compilers
Added : 2006-03-14 Amended: 2006-03-14 Licensing : Public Domain
DiamondBase - Add Relational Database functionality to your C++ programsDiamondBase 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
Compilers
Added : 1995-01-01 Amended: 2008-07-22 Licensing : Not known
die-xml - C++11 xml sax parser based on finite automataa simple XML SAX parser that uses finite automata as backend.http://code.google.com/p/die-xml/wiki/FiniteAutomaton has the automaton definitions Features:
Operating Systems
Compilers
Added : 2014-10-06 Amended: 2014-10-06 Licensing : MIT
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
Added : 2006-07-03 Amended: 2006-07-03 Licensing : Commercial
dlib C++ library - A portable C++ toolkitThis 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
Compilers
Added : 2006-12-21 Amended: 2006-12-21 Licensing : Copyright (other)
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
Compilers
Added : 1997-03-19 Amended: 1997-03-19 Licensing : Shareware
DOSTmUit - DOS Text Mode User Interface ToolkitEnables 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
Compilers
Added : 1995-01-01 Amended: 2008-07-22 Licensing : Non commercial
Drat - A C++ interface to the curses libraryDrat 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-02Dead link.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
Compilers
Added : 2010-11-09 Amended: 2010-11-09 Licensing : GNU copyleft
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:
The library uses the type 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
Key features of the library:
Operating Systems
Compilers
Added : 2017-03-10 Amended: 2017-03-10 Licensing : MIT
eigen - C++ template library for linear algebra: vectors, matrices & related algorithmsEigen is a C++ template library for linear algebra: vectors, matrices, and related algorithms. It is:
Operating Systems
Compilers
Added : 2009-11-25 Amended: 2009-11-25 Licensing : Open Source
EO - Evolutionary computation libraryEO (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
RELEASES:New releases are made almost every day. Check at the site. Probably, cvs access will be provided in the future.
Operating Systems
Compilers
Added : 1998-07-24 Amended: 2008-07-22 Licensing : Copyrighted freeware
Fast Light Toolkit - GNU LGPL GUI toolkit for X11 and WindowsFLTK (pronounced "fulltick") is a LGPL C++ graphical user interface toolkit for X (UNIX®), OpenGL, and WIN32 (Microsoft® Windows® 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:
Operating Systems
Compilers
Added : 2000-04-26 Amended: 2000-04-26 Licensing : GNU copyleft
FastFormat - 100% type-safe, infinitely extensible, very high performance C++ format libraryFastFormat 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:
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:
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:
Examples:
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 ( Features:
Requirements:STLSoft libraries (1.9.1 beta 81 or later); 100% header-only open-source.
Operating Systems
Compilers
Added : 2009-05-11 Amended: 2009-05-11
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
Added : 1999-06-21 Amended: 1999-06-21 Licensing : Shareware
FEMTown - Open-Source Multi-Physics Finite Element FrameworkFEMTown is designed to solve partial differential equations (PDE) using spatial finite-element discretizations. FEMTown provides
<h4>Applications</h4> FEMTown also includes open-source end-user applications:
Operating Systems
Compilers
Added : 2001-09-28 Amended: 2001-09-28 Licensing : Public Domain
FFLL - Free Fuzzy Logic LibraryThe 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
Compilers
Added : 2010-11-16 Amended: 2010-11-16 Licensing : BSD style
FFTPACK++ - C++ version of FFTPACKFFT_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
Added : 1995-01-01 Amended: 2008-07-22 Licensing : GNU copyleft
Comment from : js on 2015-04-03Dead link (Apr/2015)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
Added : 1997-11-27 Amended: 1999-06-21 Licensing : GNU copyleft
Field3D - A file format and data structures for storing 3D voxel and simulation dataField3D 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
Compilers
Added : 2010-11-16 Amended: 2010-11-16 Licensing : BSD style
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
Compilers
Added : 2012-02-20 Amended: 2012-02-20 Licensing : BSD style
FLENS - C++ Library for High-Performance Numerical Linear AlgebraFLENS 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
Compilers
Added : 2012-10-02 Amended: 2012-10-02 Licensing : BSD style
FRUCTOSE - Andrew Marlow's C++ Unit Testing FrameworkC++ unit testing framework, very cutdown compared to CppUnit but very simple and implemented entirely using header files.
Operating Systems
Compilers
Added : 2008-07-29 Amended: 2008-07-29
G3Log - Asynchronous logger, cross-platform and "crash safe"G3log is an asynchronous "crash safe" logger used on at least the following platforms:
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
Compilers
Added : 2014-10-06 Amended: 2014-10-06 Licensing : Public Domain
GAGS - C++ class library for Genetic algorithmsIt 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
Compilers
Added : 1996-02-08 Amended: 1996-02-08 Licensing : Copyrighted freeware
GAME - Parallel Genetic Algorithms Theory and ApplicationsEdited by: J. StenderPublisher: 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
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
Generic Linked List PackageA 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
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
Compilers
Added : 2001-01-31 Amended: 2001-01-31 Licensing : GNU copyleft
gleem - OpenGL Extremely Easy to use ManipulatorsA 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
Compilers
Added : 1998-12-03 Amended: 2008-07-29 Licensing : GNU copyleft
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:
Operating Systems
Compilers
Added : 1999-07-01 Amended: 2008-07-22 Licensing : GNU copyleft
Grail - Symbolic computation with finite-state machines and regular expressionsSupports 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
Added : 1996-05-22 Amended: 2008-07-29 Licensing : Education
Grayscale Image ProcessingEnhanced grayscale image processing class library and verification code, source codeKeywords: image arithmetics, median filtration, morphological filtration, convolution, lazy image, TIFF, plasma fractals, nondeterministic filter, class library
Operating Systems
Compilers
Added : 1996-05-22 Amended: 1997-03-19 Licensing : Public Domain
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
Compilers
Added : 2002-06-21 Amended: 2004-06-15 Licensing : Non commercial
Comment from : js on 2015-04-03Dead linkGTAD - Graph Toolkit for Algorithms and DrawingsThe 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
Compilers
Added : 2008-09-16 Amended: 2008-09-16 Licensing : Open Source
GTL - The Graph Template LibraryThe 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
Compilers
Added : 2000-04-26 Amended: 2000-04-26 Licensing : Copyright (other)
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
Compilers
Added : 1998-07-24 Amended: 2003-07-29 Licensing : Shareware
Hans Boehms GC - Hans Boehms free Garbage CollectorConservative 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
Added : 1995-01-01 Amended: 2008-07-29 Licensing : Copyrighted freeware
High level vector operationsContains 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
HugeCalc - Arbitrary accuracy large integer calculationsHugeCalc 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
Compilers
Added : 1997-11-27 Amended: 1997-11-27 Licensing : Shareware
ICU - Unicode Support LibraryProvide 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
Compilers
Added : 2002-03-08 Amended: 2008-07-29 Licensing : Copyrighted freeware
Image Magick - Image manipulation application and librariesJeff DonnerIt 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
ImageLib - An Image Processing C++ Class LibraryImageLib 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
Compilers
Added : 1998-07-27 Amended: 2000-04-26 Licensing : GNU copyleft
iMatrix - Matrix classes implementationKeywords: 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
Compilers
Added : 2000-05-25 Amended: 2000-05-25 Licensing : Public Domain
Comment from : F. Beekhof on 2008-09-10Link is dead.IMP, the Integrative Modeling Platform - IMP is a platform for modeling the structure and dynamics of protein assembliesIMP'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:
Operating Systems
Compilers
Added : 2011-05-31 Amended: 2011-05-31 Licensing : Open Source
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
Compilers
Added : 2009-09-01 Amended: 2009-09-01 Licensing : Open Source
InterViews - GUI class library developed by Stanford UniversityMake 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
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
Compilers
Added : 2006-12-01 Amended: 2007-04-10 Licensing : Copyrighted freeware
Irrlicht - Lightning fast realtime 3D engineThe 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
Compilers
Added : 2010-11-16 Amended: 2010-11-16 Licensing : Open Source
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
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Public Domain
Ivf++ - C++ OpenGL visualisation libraryIvf++ 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
Compilers
Added : 2000-04-26 Amended: 2008-07-29 Licensing : GNU copyleft
ivmaps - C++ libraries for manipulation and visualization of geo-spatial map dataivmaps 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
ivtools - C++ frameworks for graphical editors and spatial data serversivtools 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
ixlib - c++ tools libraryixlib 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
Added : 2001-01-22 Amended: 2001-01-22 Licensing : GNU copyleft
jjLibrary - C++ Pattern LibraryjjLibrary is a C++ library which provides
jjPattern has unique feature which can be compared to STL.
Operating Systems
Compilers
Added : 2004-09-06 Amended: 2004-09-06 Licensing : GNU copyleft
JPTUI - Textual user interface for DJGPPTextual user interface for DJGPP 2, v4.0eJPTUI 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
Compilers
Added : 1998-02-24 Amended: 2000-04-26 Licensing : Copyrighted freeware
jsoncons C++ header-only library - JSON construction with JSONPointer, JSONPatch, Jjsoncons is a modern C++, header-only library for constructing JSON. It supports parsing a JSON file or string into a 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
Operating Systems
Compilers
Added : 2018-01-19 Amended: 2018-01-19 Licensing : Boost
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
Compilers
Added : 2012-09-20 Amended: 2012-09-20 Licensing : Copyright (other)
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
Compilers
Added : 1998-02-24 Amended: 1998-02-24 Licensing : Copyright (other)
Comment from : Andrew Marlow on 2008-07-29OOC 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)JX - Application framework and widget library for use with X WindowsJX 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
Compilers
Added : 1997-12-06 Amended: 2008-07-29 Licensing : Copyright (other)
Kalman - A class library for Kalman filteringContains lumatrix.c++ etc.
Compilers
Added : 1995-01-01 Amended: 2003-10-20 Licensing : Not known
kplib - Basic but highly optimised C++ libraryThe library consists of the following classes:
Operating Systems
Compilers
Added : 2000-04-26 Amended: 2000-12-22 Licensing : Public Domain
Lapack++ - C++ version of some of lapack fortran codeDevelopmental 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
LEDA - A Library of Efficient Data Types and AlgorithmsProvides 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
Added : 1995-01-01 Amended: 1999-06-04 Licensing : Education
lexertl - Dynamic Lexical Analyser GeneratorGenerate 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
Compilers
Added : 2012-08-06 Amended: 2012-08-06 Licensing : Boost
libcds C++ template library of lock-free algo - libcds C++ template library of lock-free containers and GCCDS (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
Compilers
Added : 2012-01-03 Amended: 2012-01-03 Licensing : BSD style
libCON - C++ Game Programming LibraryThis 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
Compilers
Added : 1999-07-21 Amended: 2000-08-09 Licensing : Non commercial
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
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
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
Compilers
Added : 2012-09-20 Amended: 2012-09-20 Licensing : Boost
libLCS - Library for Logic Circuit SimulationlibLCS 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
Compilers
Added : 2007-06-27 Amended: 2007-06-27 Licensing : GNU copyleft
Libnet - Generic networking APILibnet 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
Compilers
Added : 2010-11-16 Amended: 2010-11-16 Licensing : Open Source
libpropc++ - Add properties to C++ (widget.color = "red";)
Template library for properties in C++ (like this:
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
Compilers
Added : 2004-08-31 Amended: 2004-08-31 Licensing : GNU copyleft
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
Compilers
Added : 1999-06-15 Amended: 1999-06-15 Licensing : GNU copyleft
Lily (LIsp LibrarY) - Gives C++ programmers the capability to write LISP-style codeI 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
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : GNU copyleft
LinAlg - C++ Linear Algebra and Optimization classlib
Operating Systems
Compilers
Added : 1996-05-22 Amended: 1999-06-04 Licensing : Public Domain
Lodestar Database - Client/Server - High performance, non-relational database engineLodestar 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
Compilers
Added : 2000-04-26 Amended: 2000-04-26 Licensing : Shareware
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
Compilers
Added : 2009-09-03 Amended: 2009-09-03 Licensing : Open Source
|
Our ads
Buy gold
Beat the credit crunch - buy gold online - quickly, safely and at low prices
www.bullionvault.com
|
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.