Libraries available to download (D-L) (original) (raw)
Developer - Smart Pointers
smart_ptr is a smart pointer policy class that can use different ownership logic and semantic polices, which allows the developer to get the best performance and/or interface for a particular requirement.
The smart_ptr class can be used with STL containers to create containers of smart pointers, moreover it can be used to create a container of abstract based objects via smart_ptr. In general, smart_ptr is faster than boost::shared_ptr. When used with STL containers, the smart pointer is faster than the boost pointer containers, and more generic.
Operating Systems
- Dec Alpha
- Dec OSF/1
- HP UX
- IBM AIX
- Linux
- OS/2
- PC DOS
- PC Windows
- PC 32-bit Windows
- Solaris
- Sun
- Unix
Compilers
- Borland C++
- Dec CC
- GCC
- HP C++
- IBM xlC
- Visual C++ Added : 14/03/2006 Amended : 14/03/2006 Licensing : Public Domain
GTL - The Graph Template Library
The Standard Template Library (STL) is supposed to become a part of the C++ standard library and therefore is an ideal basis when writing portable programs.
Unfortunately, STL has no support for graphs and graph algorithms. However, graphs are widely used to model complex relational structures.
Since we are intensively working with graph algorithms and Graphlet, we decided to implement GTL, a graph library based on STL. For the design of GTL's API the API of LEDA has served as a basis. GTL contains the classes needed to work with graphs, nodes and edges and some basic algorithms as building blocks for more complex graph algorithms. Further algorithms are under work.
GAGS - C++ class library for Genetic algorithms
It includes classes for chromosomes and populations.
Library:binary chromosome representation. Genetic operators: mutation, xOver (n-pt and uniform), remove/reinsert. Selection operator: steady state, tournament, roulette wheel. Perl and/or tcl/tk graphic front-end. Graphics through gnuplot. Training from file.
Application generator: it needs only an ANSI-C definition of the fitness function. It's parsed, and a program that runs a GA on it is generated.
Operating Systems
- Unix
Compilers
- GCC
- SGI CC
- Sun CC Added : 08/02/1996 Amended : 08/02/1996 Licensing : Copyrighted freeware
libpropc++ - Add properties to C++ (widget.color = "red";)
- variable like syntax for accessing properties;
- only two lines to create a property (having get/set functions);
- aimed to implement binding properties (http://ex-code.com/articles/binding-properties.html);
- documented.
Template library for properties in C++ (like this:widget.color = "red"; to change widget color).
class Widget { ... Color get_color(); void set_color(Color value); prop::Property<Widget, Color, &Widget::set_color, &Widget::get_color> color; ... };
JPTUI - Textual user interface for DJGPP
Textual user interface for DJGPP 2, v4.0e
JPTUI is an object-oriented textual user interface. Designed for C++, it provides a simple to use application programming interface. JPTUI is available for DJGPP 2 and Borland C++ 4.
I am told that this library is no longer on Simtel, but there is an older version stil available via ftp from a different site.
Operating Systems
- PC
Compilers
- DJGPP
- Borland C++ Added : 24/02/1998 Amended : 26/04/2000 Licensing : Copyrighted freeware
libLCS - Library for Logic Circuit Simulation
libLCS is a hardware description library in C++ aiming to be as powerfull and easy as the Verilog HDL. It currently supports logic gates, flipflops, clock, and facilitates delays, continuous assignments and variable value dumping into VCD files.
libLCS is a library for Logic Circuit Simulation developed in 100% c++. The ultimate aim of LCS is to become a thorough hardware description library, matching the functionality of the Verilog hardware description language, while keeping the usage (and syntax) as intuitive as possible. Currently, it supports simulation of digital systems containing logic gates, flipflops, clock, user defined modules, and facilitates propogation delays, continuous assignments and dumping value changes into VCD files.
Operating Systems
- Linux
- PC Windows
- PC DOS
- PC 32-bit Windows
- Solaris
- Unix
Compilers
- GCC Added : 27/06/2007 Amended : 27/06/2007 Licensing : GNU copyleft
Fast Light Toolkit - GNU LGPL GUI toolkit for X11 and Windows
FLTK (pronounced "fulltick") is a LGPL C++ graphical user interface toolkit for X (UNIX®), 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:
- sizeof(Fl_Widget) == 40 to 48
- The "core" (the "hello" program compiled & linked with a static FLTK library using gcc on a 486 and then stripped) is 110k.
- The FLUID program (which includes every widget) is 372k.
- Does not use macros, templates, multiple inheritance, or exceptions.
- Written directly atop Xlib (or the WIN32 API) for maximum speed, and carefully optimized for code size and performance.
- Precise low-level compatibility between the X and Windows version (only about 10% of the code is different).
- Interactive user interface builder program. Output is human-readable and editable C++ source code.
- Support for overlay hardware (emulation if none and under Windows)
- Very small & fast portable 2-D drawing library to hide Xlib and WIN32
- OpenGL/Mesa drawing area widget
- Support for OpenGL overlay hardware on both X and Windows. Emulation if none.
- Text input fields with Emacs key bindings, cut & paste, and foreign letter compose!
- Compatability header file for the GLUT library
- Compatability header file for the XForms library
Operating Systems
- Linux
- PC 32-bit Windows
- Sparc
- SGI Irix
- IBM AIX
- Solaris
- HP UX
- OS/2
- Unix
- X Windows
- SYSV
- Dec Alpha
- SCO Open Desktop
- Unisys Unixware
- Dec OSF/1
Compilers
- Visual C++
- GCC
- Sun CC
- IBM xlC
- SGI NCC
- MetroWerks CodeWarrior
- Borland C++
- HP C++
- Any standard C++ compiler Added : 26/04/2000 Amended : 26/04/2000 Licensing : GNU copyleft
GiNaC - Symbolic computation embedded in C++
GiNaC is an iterated and recursive acronym for GiNaC is Not a CAS, with CAS standing for Computer Algebra System. It is designed to allow the creation of integrated systems that embed symbolic manipulations together with more established areas of compute r science (like computation- intense numeric applications, graphical interfaces, etc.) under one roof. It is distributed under the terms and conditions of the GNU general public license GPL.
It implements a class hierarchy with the basic classes needed to create symbolic expressions, including abritrary length/precision numbers (drawing from the CLN library). The classes provide basic symbolic manipulations as well as memory management through reference counting, disk-I/O, etc. Using the Cint C/C++ interpreter it is even possible to use it in an interactive manner.
It is written in standard C++ and should compile on any compliant compiler. Since it has to be linked with CLN, however, it is somewhat tricky (but not impossible) to do so on other compilers than GCC.
Operating Systems
- Linux
- Solaris
- Unix
- Irix
Compilers
- GCC Added : 31/01/2001 08:34:10 Amended : 31/01/2001 Licensing : GNU copyleft
Lodestar Database - Client/Server - High performance, non-relational database engine
Lodestar Database is a super fast, non-relational database engine which comes in either single user or network enabled, multi-user client/server versions. The network version comes with either a Novell server or an NT server with clients for Windows 95/98/2000 and Windows NT. Both versions have libraries for Borland C++, Delphi, C++ Builder and Visual Basic.
Lodestar Database has been in use for 10 years in the financial industry and has contributed to huge run time improvements in Credit Union software used throughout the US, but is just now being released to the public as shareware. Credit Unions with as many as 10 branches and thousands of users are currently using our database engine with sub-second response times. Statement runs are 35 minutes for a 35,000 member credit union with over 100,000 accounts and can be run while the credit union is open with virtually no degradation in online response time.
Operating Systems
- PC Windows
- Novell
Compilers
- Borland C++ Added : 26/04/2000 Amended : 26/04/2000 Licensing : Shareware
Elemental - Elemental is a very young C++ library
I am told this library is now obsolete.
Unfortunately, the author doesn't tell me what the library is for, or what ot does. All he says is:
Like most other C++ libraries, it is Object Oriented. Like few other C++ libraries, it is Generic. Unlike any other C++ libraries, its design includes an abstract layer. In this layer, all classes are abstract, and all of the types that appear in the interfaces to those classes are also abstract.
Elemental is distributed under a license which is remarkably similar to the Netscape Public License. I welcome comments and suggestions, but working code are better! (There is lots of juicy designing and coding left to do.)
Added : 03/12/1998 Amended : 26/04/2000 Licensing : Copyrighted freeware
GRAS - A Graph-Oriented Database System for SE Applications
Copyright (C) 1987-1992 Lehrstuhl Informatik III, RWTH Aachen This library is free software under the terms of the GNU Library General Public License.
The system GRAS with interfaces for the programming languages Modula-2 and C is available as public domain software for Sun3/Sun4 workstations (the GRAS system itself is implemented in Modula-2 and consists of many layers which might be reusable for the implementation of other systems):
There are several files contain documentation, sources, binaries, and libraries. All binaries are for Sun/4 machines. Sun/3 binaries are shipped only if explicitly requested.
Operating Systems
- Sun Added : 01/01/1995 Amended : 01/01/1995 Licensing : GNU copyleft
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 : 01/01/1995 Amended : 05/02/1996 Licensing : Not known
ImageLib - An Image Processing C++ Class Library
ImageLib is a C++ class library providing image processing and related facilities.
The main set of classes provides a variety of image and vector types, with additional modules supporting scalar and vector quantisation, wavelet transforms, DCT transforms, and simple histogram operations.
Tested on Solaris and FreeBSD, but should work with most other UNIX versions. Most features are not operating system specific.
Operating Systems
- Linux
- Solaris
- FreeBSD
Compilers
- GCC
- Sun CC
- KAI C++ Added : 27/07/1998 Amended : 26/04/2000 Licensing : GNU copyleft
Grayscale Image Processing
Enhanced grayscale image processing class library and verification code, source code
Keywords: image arithmetics, median filtration, morphological filtration, convolution, lazy image, TIFF, plasma fractals, nondeterministic filter, class library
Operating Systems
- PC 32-bit Windows
- rs6000-aix-3.2
- Solaris
- Mac
- Dec Alpha
- HP 9000
- FreeBSD
- BeOS
- Concurrent Maxion 8000/RTU
Compilers
- GCC
- Sun CC
- MetroWerks CodeWarrior
- Borland C++ Added : 22/05/1996 Amended : 19/03/1997 Licensing : Public Domain
FFTPACK++ - C++ version of FFTPACK
FFT_Pack is a C++ wrapper for FFTPACK complex routines using LAPACK++ Matrix and Vector classes. FFTPACK routines were converted to C using f2c and also modified to use double precision complex using -r8 to f2c.
Most of this code was lifted directly from GNU OCTAVE v1.1.0, hence the copyright notice at the top.
The forward FFT takes you to freq domain (ala direction == -1), and backward the other way.
Passing LaVectorComplex/Double or LaGenMatComplex/Double with one dimension set to 1 will implicitly perform 1D FFT on the data.
The members of the FFT_Pack class are declared static, since they really need no private member storage. There are two types of transform routines: ones that return a new complex matrix and the ones that change the matrix in place.
Compilers
- GCC
- Cfront Added : 01/01/1995 Amended : 01/01/1995 Licensing : GNU copyleft
eNITL - the Network Improv Template Language
A scripting language engine for C++ applications which require flexible, user-configurable output generation and internal scripting. The eNITL engine is embeddable, extensible, fast, thread-safe, cross-platform, and open source. The language itself is user-friendly, simple, and template-oriented.
eNITL is especially applicable to server-based Internet/intranet applications which employ HTTP, SMTP, HTML, XML, SGML, Plain Text and other text-based protocols and data formats.
eNITL is designed for use in commercial software applications, which demand ease-of-use, high performance and reliability.
Operating Systems
- Linux
- PC 32-bit Windows
Compilers
- Visual C++
- GCC Added : 04/06/1999 11:57:24 Amended : 04/06/1999 Licensing : Copyrighted freeware
Copyright (c) 2008 Nikki Locke, Trumphurst Ltd.
Permission is granted to distribute over the Internet without charge. The author's permission is required (and usually given) to distribute in any other way, including on CD.