Available C++ Libraries FAQLibraries available to download (Q-Z)qDecoder - qDecoder is a development kit for C/C++ network programmingqDecoder is a development kit for C/C++ network programming includes CGI/FastCGI supports. For the use of C/C++ CGI programming, the query-fetch algorithm based on the linked-list provides transparency with low layers by the simple library interface regardless of COOKIE/GET/POST(including File Upload). Thus, it enables the web based software to be more intuitively designed and implemented.
Operating Systems
Compilers
Added : 2009-09-04 Amended: 2009-09-04 Licensing : Non commercial
Qt - Qt - A cross-platform application and UI framework.Develop applications and user interfaces once, and deploy them across Windows, Mac, Linux/X11, embedded Linux, Windows CE and S60 (coming soon) without rewriting the source code. Qt allows open source and commercial software developers to code less, create more and deploy everywhere. Qt enables developers to build innovative applications and user interfaces once and then extend the innovation across all major desktop, consumer electronic and other embedded platforms without rewriting the code. Qt has an LGPL/Free version.
Operating Systems
Compilers
Added : 2009-09-02 Amended: 2009-09-02 Licensing : Open Source
Quercus Robusta - C++ application framework.Quercus Robusta is re-usable opensource C++ application framework. It supports refcounting GC, flexible polymorphic containers, portable multithreading, GUI (over X11, Win32 API and curses), parsers and persistence.
Operating Systems
Compilers
Added : 2000-09-22 Amended: 2000-09-22 Licensing : GNU copyleft
QxOrm - QxOrm - C++ Object Relational Mapping (ORM) libraryQxOrm is a C++ library designed to provide Object Relational Mapping (ORM) feature to C++/Qt users (like Hibernate in Java, or NHibernate in .Net).QxOrm engine is based on a simple and non intrusive mapping function by class to provide :
For more information about QxOrm library, please visit the web site.
Operating Systems
Compilers
Added : 2011-09-26 Amended: 2011-09-26 Licensing : Open Source
Radix-2 - Fast Fourier TransformRadix-2 DFT of a real or complex sequence, or sin/cos/complex Fourier integral of an evenly tabulated function.The input can be either real or complex with/without zero padding, the full complex transform or only real/im/abs_value part of it can be obtained. Test drivers and test run outputs are included, too. Commented. Needs LinAlg.shar, v3.2
Operating Systems
Compilers
Added : 1995-01-01 Amended: 2008-11-04 Licensing : Not known
Range - C++ class for range arithmetic.Associated with article in TOMS, Dec 1992 title "Precise computation using range arithmetic, via C++".
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
RapidXml - RapidXml is an attempt to create the fastest XML parser possible.RapidXml is an attempt to create the fastest XML DOM parser possible, while retaining useability, portability and reasonable W3C compatibility. It is an in-situ parser written in C++, with parsing speed approaching that of strlen() function executed on the same data.Entire parser is contained in a single header file, so no building or linking is neccesary. To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory), and include it where needed. You may also want to use printing functions contained in header rapidxml_print.hpp.
Operating Systems
Compilers
Added : 2010-11-09 Amended: 2010-11-09 Licensing : Boost
Reason - Reason is a C++ cross platform frameworkReason is a cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. It is ideally suited to developing web services, enterprise applications, and internet technologies. Reason contains many features missing in other C++ libraries such as xml, xpath, regular expressions, threads, sockets, http, sql, times and dates, streams, encoding and decoding, files and folders, compression, and much more.
Operating Systems
Compilers
Added : 2009-09-03 Amended: 2009-09-03 Licensing : Open Source
recls - Platform-independent, multi-language, recursive search libraryrecls - standing for recursive ls - is a platform-independent recursive search library, written in C and C++, and presenting a C API.The library also includes mappings to several languages and technologies, including C++ (simple wrapper classes), C++ (STL), C#, COM (IEnumXXXX), COM (Automation collections), D, Java, Managed C++, Perl, Python and Ruby The library is the exemplar for Matthew Wilson's Positive Integration column in C/C++ User's Journal, in which he takes the reader through the process of mapping C/C++ libraries to a host of target languages and technologies. Supplied as source, not binary, including makefiles and IDDE project files
Operating Systems
Compilers
Added : 2003-11-06 Amended: 2008-06-26 Licensing : Public Domain
refcnt - Reference Counting for C++Reference counting for C++. Freeware. Uploaded by the author.
Added : 1999-10-14 Amended: 1999-10-14 Licensing : Freeware
Regex++ - C++ template regular expression libraryA regular expression library for C++ which handles both char and wchar_t types. Template search/match/grep functions allow for the searching of any bi-directional iterator type, making seemless searches of non-contiguous data possible. Customised traits classes allow for localisation and almost endless customisation if required. The library is freely available, and comes with full documentation + demo applications + regression tester.Should work with any compiler supporting templates, on any operating system.
Operating Systems
Compilers
Added : 1998-12-03 Amended: 1998-12-03 Licensing : Public Domain
Comment from : broken link on 2010-01-16broken link
Comment from : Nikki Locke on 2010-01-18Suggest you use the Boost library instead.Restbed - Asynchronous RESTful FrameworkThe Restbed framework brings asynchronous RESTful functionality to C++11 applications. Restbed is looking to address compliance with all of the HTTP specifications past, present and feature.
Operating Systems
Compilers
Added : 2015-10-26 Amended: 2015-10-26 Licensing : GNU copyleft
Rhapsodia.Scheduler - Concurrency Support LibraryRhapsodia.Scheduler library provides minimal and hopefully complete versions of classes commonly used in concurrent C++ programming. The library code consists of concepts that have been successfully used in production systems and follows well established concurrency design patterns and language idioms. Most of all, the emphasis has been on code that will work well with the C++ Standard Library and the Boost library.Library is hosted at SourceForge.net
Operating Systems
Compilers
Added : 2004-01-16 Amended: 2004-01-16 Licensing : Public Domain
RTTI implementation
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
RTTI libraryTill RTTI becomes a part of regular compilers these RTTI libraries provide an excellent tool for the same purpose.The library is claimed to be portable. No licence restrictions.
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Public Domain
RudeServer - Open Source C++ CGI LibraryRude promotes Open Source C++ CGI development, by providing the following core libraries: RudeCGI™ Open Source C++ CGI Library RudeDatabase™ Open Source C++ Database Library RudeSocket™ Open Source C++ Socket Library RudeConfig™ Open Source C++ Config File Library C++ Session Library
Operating Systems
Compilers
Added : 2009-09-03 Amended: 2009-09-03 Licensing : Open Source
Rudiments - C++ class libraryRudiments is an Open Source C++ class library providing base classes for things such as daemons, clients and servers, and wrapper classes for the standard C functions for things like regular expressions, semaphores, and signal handling.
Operating Systems
Compilers
Added : 2013-11-07 Amended: 2013-11-07 Licensing : Open Source
SA - Library for simulated annealingThanks to Tarjei Knapstad for updated FTP site information.
Added : 1995-01-01 Amended: 1999-08-10 Licensing : Not known
SCEW - Simple C Expat WrapperThe aim of SCEW is to provide an easy interface around the XML Expat parser, as well as a simple interface for creating new XML documents. It provides functions to load and access XML elements without the need to create Expat event handling routines every time you want to load a new XML document. These are the main SCEW features:
Operating Systems
Compilers
Added : 2011-06-15 Amended: 2011-06-15 Licensing : GNU copyleft
Schifra C++ Reed-Solomon Library - Schifra C++ Reed-Solomon LibrarySchifra is a very robust, highly optimized and extremely configurable Reed-Solomon error correcting code library implemented in C++. Schifra supports standard, shortened and punctured Reed-Solomon codes. It also has support for stacked product codes and interleaving.url: http://www.schifra.com
Operating Systems
Compilers
Added : 2006-11-06 Amended: 2006-11-06 Licensing : GNU copyleft
script - C++ interpreted languageThis a set of C++ classes which create a new interpreted language which is freely inspired from "C" and HP RPL (that's calculators).This scripting language is freely inspired by the C-language syntax and HP's RPL in the way of manipulating variables : - There are no variable declaration, but the first use of a new variable name must be a write (no read allowed on a undefined name). You can considere that the declaration is included in this first write. I find this way to do the declaration good to avoid use of uninitialised variable. - Control structures must have the prefix #. This language syntax isn't very beautiful but I found it cleared the code. - Functions exists through file separation : one file, one function. The behavior is the same as Matlab .M files. - A variable isn't type constant. This allows a variable name to change of type. Actually, 5 types can be used, but the structure of the program allows an easy add of new types : integer, strings, real, array and list. The full source is provided and some examples of scripts.
Operating Systems
Compilers
Added : 1999-06-21 Amended: 1999-06-21 Licensing : Public Domain
SdeintA Runge-Kutta like class for integrating systems of Stochastic Differential Equations.
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
SDL - Simple DirectMedia LayerSimple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, Java, Lua, ML, Perl, PHP, Pike, Python, and Ruby.
Operating Systems
Added : 2004-06-22 Amended: 2004-06-22 Licensing : GNU copyleft
SeqAn - Efficient algorithms and data structures for (biological) sequence analyses.SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. The library applies a unique generic design that guarantees high performance, generality, extensibility, and integration with other libraries. SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance.
Operating Systems
Compilers
Added : 2014-03-28 Amended: 2014-03-28 Licensing : BSD style
SESAME - Neural net software ?
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
Shift-Right Open Repository - C++ Class Library and Reusable Build EnvironmentThe Shift-Right Open Repository is a complete development environment for C/C++ programmers. The main focus of the Repository is on reusable code. Another characteristic of the Repository is that the majority of the code was developed for embedded software development. And as such, was designed to meet the constrained environment of embedded programming. The most obvious characteristics are the obsession with deterministic memory management and strict type checking.The C++ library contains a large range of functionality and interfaces such as: threading, inter-thread communications, streamio, socketio, parsing, multi-threaded database support, strings, containers, etc. The Repository also contains reusable build environment
Operating Systems
Compilers
Added : 2002-03-08 Amended: 2002-03-08 Licensing : Copyrighted freeware
shwild - Shell Compatible Wildcard Matchingshwild is a simple, platform-independent library for shell-compatible wildcard matching. It is implemented in C/C++, expressing a C-API, with a C++ wrapper.
Operating Systems
Compilers
Added : 2006-05-15 Amended: 2008-06-26 Licensing : Public Domain
simC - C/C++ function library for discrete simulationSimC is a function library for C/C++, providing support facilities for discrete and combined discrete-continuous simulation including set operations and data collection.
Operating Systems
Added : 1996-03-19 Amended: 1996-03-19 Licensing : Shareware
SIMEX - Helps develop discrete-event simulation modelsProvides classes that help a user develop discrete-event simulation models, with an emphasis on epidemiology and biology.Classes for random number generation, event and process management, user interface (commandline arguments, TTY, or Tcl/TK), aggregate statistics, basic data structures (list, strings, weighted ordered sets). Many examples.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Copyrighted freeware
Simpack - Tools for writing simulations with a EECS bias
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
SMTP/POP3 - SMTP/POP3 Email Engine for C/C++SMTP/POP3 Email Engine for C/C++ v3.1. Win16 and Win32 DLLs. Email from your C/C++ application. Simple API allows sending & receiving email, including MIME attachments. Knowledge of Winsock and TCP/IP is not needed. Includes multiple C/C++ examples.
Operating Systems
Compilers
Added : 1999-06-04 Amended: 2011-02-21 Licensing : Shareware
SMURPH - A C++ library which could be useful for building a network simulatorIt comes with extensive documentation and examples.
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
SObjectizer - It's all about in-process message dispatching!SObjectizer is a small tool for simplification of development of concurrent and event-driven applications in C++. It was used for projects of various sizes: from very small utilities to large distributed and highly loaded applications.SObjectizer is strongly influenced by agent-oriented approach. It allows to build a concurrent application as a set of agent-objects which interact with each other only by means of asynchronous messages. SObjectizer takes responsibility of in-process message dispatching and providing working context for message processing. And allows to tune those things by supplying various ready-to-use dispatchers just out-of-box.
Operating Systems
Compilers
Added : 2015-10-26 Amended: 2015-10-26 Licensing : BSD style
SOCI - Simple library for embedding SQL in C++SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++.
Operating Systems
Compilers
Added : 2004-09-29 Amended: 2008-07-29 Licensing : Copyrighted freeware
SOCI - The C++ Database Access Library. - SOCI is a database access library for C++.SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++. The idea is to provide C++ programmers a way to access SQL databases in the most natural and intuitive way. If you find existing libraries too difficult for your needs or just distracting, SOCI can be a good alternative.
Operating Systems
Compilers
Added : 2009-09-03 Amended: 2009-09-03 Licensing : Boost
SOCKET++ - C++ iostream like library for sockets and pipesThe code was oringially developed by Gnanasekaran (Sekar) Swaminathan (gs4t@virginia.edu), at the Department of Electrical Engineering at the University of Virginia, a few years ago. The master repository was ftp://ftp.virginia.edu/pub.Version 1.10 does not include C++ exception handling, and it therefore "more portable". Version 1.11 has a number of changes that make it less portable. I recommend that you use version 1.10 unless you want to try out using exception handling, then you can try using version 1.11. If you use version 1.11, then you will need to catch exceptions in your mail client.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 2008-07-29 Licensing : Not known
SocketMan - C++ Socket LibraryPortable, robust, and easy-to-use socket library for implementing client-server and multicast communication models.
Operating Systems
Compilers
Added : 1998-12-03 Amended: 1998-12-03 Licensing : GNU copyleft
SOL++2000 Class Library - User interface construction toolkit for Microsoft WindowsThis is a completely free C++ class library for Microsoft Windows. All source files of the library and a lot of sample programs are also available. One of the striking features of SOL++2000 is the simplicity of handling of Windows events.
Operating Systems
Compilers
Added : 1999-08-26 Amended: 1999-08-27 Licensing : Public Domain
SPLASH - Small Perl-like List And String Handling class librarySPLASH is a c++ class library that implements many of the Perl constructs and data types, including extensive regex regular expression pattern matching.For those not familiar with Perl, it is an excellent scripting language by Larry Wall and is available for most platforms. This Class library provides List, String, Regular Expression, and text manipulation handling capabilities based on those provided in Perl. File names are splashxxx.tar.gz or splashxxx.zip where xxx is the version number, currently 192 (for version 1.92)
Operating Systems
Added : 1995-01-01 Amended: 1998-12-03 Licensing : Public Domain
stdlib - UTF8 console i/o in Windows, other crucial stdlib fixes, functional area headersstdlib is a pure header library that provides
Operating Systems
Compilers
Added : 2017-06-20 Amended: 2017-06-21 Licensing : Boost
STLSoft - Robust, Lightweight, Cross-platform, Template SoftwareSTLSoft provides freely available STL-like extensions, including STL-style wrappers for common operating system and framework APIs (such as Windows, Unix, COM, MFC, ATL).
Operating Systems
Compilers
Added : 2003-08-08 Amended: 2008-06-26 Licensing : Public Domain
STXXL - Standard Template Library for Extra Large Data SetsThe core of STXXL is an implementation of the C++ standard template library STL for external memory (out-of-core) computations, i.e., STXXL implements containers and algorithms that can process huge volumes of data that only fit on disks. While the closeness to the STL supports ease of use and compatibility with existing applications, another design priority is high performance.The key features of STXXL are:
Operating Systems
Compilers
Added : 2010-11-16 Amended: 2010-11-16 Licensing : Boost
SV_Lib - Class library for speech recognition and speaker verificationCurrently, there are more than 20 classes in this library, including commonly used feature extraction algorithms and modeling techniques for speech recognition and speaker verification.The following highlights the main features of this library:
Operating Systems
Compilers
Added : 1999-06-15 Amended: 2008-07-29 Licensing : Freeware
SXP - Simple XML Persistencevery lightweight, adding support for serialization of simple data members is done with 4 lines of source per member, support for numeric/string/Unicode string simple data members is built-it, easily extended for more datatypes
Compilers
Added : 2000-04-26 Amended: 2000-05-03 Licensing : Artistic License
td.lib - C/C++ Programmers time, date, and cal lib (adtd)td.lib v2 is a small time and date library for C/C++ programmers. It contains practical time and date functions that overcome the limitations of the ANSI standard functions that ship with Borland, and Microsoft C++ compilers. Unlike the standard functions, td.lib allows the programmer to perform a variety of calculations using dates and times from Jan. 1, 1 A.D. to Dec. 31, 32766 and the ability to format and print the output of such calculations using ANSI format specifiers. Designed with the beginning programmer in mind, td.lib is easy to use and simplifies the process of coding time/date routines. The library is fully ANSI compliant and can be used with any standard C/C++ compiler. The source is freely available (mail the author).Special requirements: IBM compatible 386 PC.
Operating Systems
Added : 1997-03-19 Amended: 1997-03-27 Licensing : Copyrighted freeware
TdhListsAPI - TdhListsAPI provides fast, flexible dynamic data storage for C++ programsThe purpose of TdhListsAPI is to provide fast, flexible dynamic data storage for C++ programs, including:
The download includes:
Operating Systems
Compilers
Added : 2016-07-13 Amended: 2016-07-13 Licensing : Freeware
Texas Persistant StoreTexas is a free persistent store that can be used with standard C++ compilers, and works efficiently with very little modification to most C++ programs. It runs on several varieties of UNIX and should be very easy to port to most modern operating systems, such as OS/2, Windows NT, Mach, Windows 4.0, etc. (If things we hear are correct, Linux will provide the necessary virtual memory features soon, too, and Texas will be ported about fifteen minutes later. :-)Texas uses "pointer swizzling at page fault time", an address translation techique that converts pointers from an abstract format to actual virtual memory addresses when pages are first touched and brought into memory. (A similar technique, invented independently, is used in the market-leading persistent store/OODB, ObjectStore from Object Design Inc.) This allows Texas to be highly portable, avoiding any assumptions about where a page of data will be an a process' virtual memory address space; it can also support very large addresses spaces efficiently on stock 32-bit hardware. (It could also be used to efficiently provide shared address spaces across networked heterogenous machines with different hardware address sizes, e.g., across 32- and 64-bit machines.)
Operating Systems
Added : 1995-01-01 Amended: 2008-07-29 Licensing : GNU copyleft
Thrust - Thrust is a parallel algorithms library which resembles the C++ STLThrust is a parallel algorithms library which resembles the C++ Standard Template Library (STL). Thrust's high-level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs. Interoperability with established technologies (such as CUDA, TBB, and OpenMP) facilitates integration with existing software. Develop high-performance applications rapidly with Thrust!When using CUDA backend, Thrust requires nvcc (NVIDIA (R) Cuda compiler driver). The library is under Apache License 2.0.
Operating Systems
Compilers
Added : 2014-09-29 Amended: 2014-09-29 Licensing : Open Source
TOLKIEN - TOoLKIt for gENetics based applicationsThe tool contains objects for both GA and classifier system applications. It's in some kind of alpha-status.
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
TSR100JE.ZIP - TSR class libraryDOS PC/Borland C++ specific.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
tvmet - A Tiny Vector Matrix library using Expression and Meta Templates.This Tiny Vector and Matrix template library uses Meta and Expression Templates to evaluate results at compile time, thus making it fast for low-end systems. Temporaries are avoided because of this. The dimensions are static and bounded at compile time.More generaly this can be a replacement/extension to blitz++ tiny matrix and tiny vector classes (If you know it from blitz++ probably you will have no problems on using it).
Operating Systems
Compilers
Added : 2003-11-04 Amended: 2003-11-05 Licensing : GNU copyleft
Types 1.0Types is a Shareware library used to support the creation of reusable software components in C++.Full source code and documentation and examples are included. Types provides:Garbage Collector,recursive data estructures,encode and decode of polymorfic objects,encode and decoding to and from files or memory using external or local data representation, exceptions,... Types also include some classes implemented using types a double linked list, stack, btree, storage class, string and others. You can use and XDR representation for encode and decode objects this feature enable your data to be ported to other plataforms.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Shareware
Unibase Framework - toolkit designed to simplify network programmingThe UniBase Framework is a platform-independent toolkit designed to simplify network programming. You use standard iostream-derived communication streams with standard io operators, instead of messy connect() and listen() calls. You can leverage on ALL the code you already have using standard fstreams and iostreams with little or no modification and make your program NETWORKED today!Unix versions due soon. Free for any purpose, with little requirements (see details at the downloading home page listed below).
Operating Systems
Compilers
Added : 1996-02-05 Amended: 1996-02-05 Licensing : Copyrighted freeware
Unicomm - Unified Communication Protocol - High-level asyncronous framework for TCP based nework application creationUnicomm is a free open source multiplatform C++ framework that allows to create application level protocols over TCP transport. There are different rules can be applied to support communication logic. The main purpose is to focus on business logic and make communication process transparent to user. Unicomm simplifies connection management like accepting incoming connections and handling disconnects. It provides an easy way to associate data with the connection. Thus unicomm is the engine provides flexible mechanisms to construct custom logic protocols. Predefined xml and binary formats are also provided as option. Unicomm provides modularity and clear design of the application. Protocols implemented by using unicomm are flexible to changes and easily modifiable. Unicomm supports SSL, it’s lightweight and provides hundreds of concurrent connections processing (without considering business logic level as if unicomm handlers would be empty) on decent hardware.Unicomm is based on boost , stl and compiled with msvc 8.0, 9.0, 10.0, gcc 4.2. It is supplied with Boost.Build scripts and Microsoft Visual Studio 2005, 2008, 2010 project files. Unicomm is tested under Windows and Ubuntu Linux.
Operating Systems
Compilers
Added : 2013-10-15 Amended: 2013-10-15 Licensing : Boost
Unidraw - A graphical editor building libraryUnidraw is a graphical editor building library based on top of InterViews.
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
uSTL - uSTL is a partial implementation of the STL specification.uSTL is a partial implementation of the STL specification intended to reduce code size of the derivative programs. Usually, the STL containers manage their own storage with new[] and delete[] operators, which create strongly typed storage. Although type safety is a good thing, placing memory management code into a template necessitates its reinstantiation for every template instance used by the derivative program. This produces substantial code bloat, that is frequently derided by C developers and used by them as an argument that C is better than C++. The uSTL implementation solves this problem by factoring memory management code into a non-template base class, ustl::memblock, which performs unstructured memory allocation. STL containers are then implemented as template wrappers for memblock to provide a measure of type safety.
Operating Systems
Compilers
Added : 2009-10-07 Amended: 2009-10-07 Licensing : Open Source
UTF-8 CPP - A simple, portable generic library for handling UTF-8 encoded strings.Many C++ developers miss an easy and portable way of handling Unicode encoded strings. The original C++ Standard (known as C++98 or C++03) is Unicode agnostic, and while some work is being done to introduce Unicode to the next incarnation called C++0x, for the moment nothing of the sort is available. In the meantime, developers use third party libraries like ICU, OS specific capabilities, or simply roll out their own solutions. In order to easily handle UTF-8 encoded Unicode strings, I came up with a small generic library. For anybody used to work with STL algorithms and iterators, it should be easy and natural to use. The code is freely available for any purpose - check out the license at the beginning of the utf8.h file. If you run into bugs or performance issues, please let me know and I'll do my best to address them. The purpose of this article is not to offer an introduction to Unicode in general, and UTF-8 in particular. If you are not familiar with Unicode, be sure to check out Unicode Home Page or some other source of information for Unicode. Also, it is not my aim to advocate the use of UTF-8 encoded strings in C++ programs; if you want to handle UTF-8 encoded strings from C++, I am sure you have good reasons for it.
Operating Systems
Compilers
Added : 2010-05-14 Amended: 2010-05-14 Licensing : Boost
UVS - C++ library dealing with univariate statisticsThe scope of the library is univariate (single variable) statistics. In particular, the following statistical operations are supported:
Although UVS certainly does not provide a completely comprehensive treatment of these topics, facilities are provided to extend the library by coding additional classes or functions yourself. Two types of random variable are supported: discrete (integer type) for statistics derived from counting, and continuous (floating point type) for all others. The intended user is an application developer. Although the code has been extensively tested, a realistic appraisal of its readiness is "alpha". UVS was written with Visual C++ 6.0. Since that is the only compiler the author owns, no other platforms or compilers are currently supported. All UVS symbols are in the "uvs" namespace. UVS functions do not throw exceptions. If an argument value which calls for an infinite result is detected the function returns std::numeric_limits<double>::max(). UVS uses the Cephes library. The required components from this library are included with the distribution of UVS. UVS is free. Full source code is provided.
Operating Systems
Compilers
Added : 2003-03-07 Amended: 2003-03-07 Licensing : Freeware
valarray<Troy>Attempts at providing the functionality described in Chapter 26 of the draft C++ standard. None of the releases stick perfectly to the specifications of the proposed standard. Version 2.0 is a very deliberate step away from the draft as released in April 1995 for public comments in the USA: it is used as a proof of concept to support a revision of the original specs.Some characteristics:
Operating Systems
Compilers
Added : 1995-01-01 Amended: 1996-05-22 Licensing : Non commercial
vhclserv - server/viewers for multi-vehicle simulationvhclserv consists of a stand-alone multi-vehicle state server and a 2D map viewer evolved for controlling vehicles, drawing and playing routes, and displaying graphics on a map that track vehicle positions. Compiles on ivmaps and ivtools and PROJ-4.3.3 from the USGS. Optionally can be compiled to use ACE and clippoly.
Added : 1998-07-22 Amended: 1998-07-22 Licensing : Freeware
VMime - Mail library for C++VMime is a powerful C++ class library for working with MIME messages and Internet messaging services like IMAP, POP or SMTP. With VMime you can parse, generate and modify messages, and also connect to store and transport services to receive or send messages over the Internet. The library offers all the features to build a complete mail client. Key features
Features Overview
Operating Systems
Compilers
Added : 2010-11-23 Amended: 2010-11-23 Licensing : GNU copyleft
VOLE - A Neat C++ COM/Automation DriverVOLE is a C++ library that dramatically simplifies the business of driving COM servers (via the IDispatch interface) from C++.VOLE is highly robust. VOLE is very flexible, taking and returning normal C++ types, such as int, double, std::string, std::wstring, and so on. VOLE is 100% header only. VOLE is compiler-independent VOLE is dependent only on the STLSoft libraries (version 1.9.1 beta 43, or later; available from http://stlsoft.org/), which are themselves 100% header-only.
Operating Systems
Compilers
Added : 2007-02-13 Amended: 2008-06-26 Licensing : Public Domain
VTK - The Visualization ToolkitThe Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. VTK includes a textbook published by Prentice-Hall ( href="http://www.kitware.com/vtkhtml/vtkdata/HowToBuyBook.html"The Visualization Toolkit, An Object-Oriented Approach To 3D Graphics, 2nd edition" ISBN 0-13-954694-4 ), a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK has been implemented on nearly every Unix-based platform and PC's (Windows NT and Windows95).The design and implementation of the library has been strongly influenced by object-oriented principles. The graphics model in VTK is at a higher level of abstraction than rendering libraries like OpenGL or PEX. This means it is much easier to create useful graphics and visualization applications. In VTK applications can be written directly in C++, Tcl, Java, or Python. In fact, using the interpreted languages Tcl or Python with Tk, and even Java with its GUI class libraries, it is possible to build useful applications very quickly. Finally, the software is a true visualization system, it doesn't just let you visualize geometry. VTK supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques like implicit modelling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. Moreover, we have directly integrated dozens of imaging algorithms into the system so you can mix 2D imaging / 3D graphics algorithms and data.
Operating Systems
Compilers
Added : 2000-11-06 Amended: 2000-11-06 Licensing : Open Source
VTL - Views Template Library - Filtering and Transformation container adaptorsVTL provides container adaptors to allow selected data from a container to appear as if it was its own container. VTL adaptors do not modify the original container or data. VTL adaptors provide a STL complaint interface which allows the new object to be used anywhere a STL container can be used. The default arguments to the adaptors will generate code that has as much functionality as possible based on the underlying container. Adaptor types include, filter, transformation, zip, union, range, unique, intersection, difference, merge, crossproduct, downcast, polymorphic and window.
Compilers
Added : 2000-05-03 Amended: 2008-07-29 Licensing : Copyrighted freeware
VXCL - The Virtual X Class LibraryThe Virtual X Class Library, or VXCL for short, is a non-commercial open source collection of powerful C++ classes that encapsulate the complexities of Windows and Linux/UNIX C and C++ development. All classes are designed to use the C++ language effectively and efficiently, with minimal overhead added to the application being developed. Code size and execution speed for applications built using VXCL are inline with programs built using standard C code. There are no bloated multi-megabyte DLL's or shared libraries that must be distributed with applications using VXCL, as the code is normally (but not required to be) statically linked with the application.From April 1996 until March 2001, VXCL was known as VWCL, the Virtual Windows Class Library. In the beginning, VWCL was intended primarily for Windows development, but support for Linux/UNIX was added in 1999. Today, what was VWCL, is used daily for development of non-Windows applications as well as Windows programs. To better express the capabilities of the library, and to atract more development input from the UNIX community, we decided to rename the library to more appropriately describe the features it can provide. By dropping the 'Windows' in favor of X, we leave open the opportunity to develop the library on (and for) platform X, which can be anything. The X does not mean X Windows. It is simply a generic term (variable X) which can be whatever you want it to be.
Operating Systems
Compilers
Added : 2000-05-03 Amended: 2001-07-03 Licensing : Open Source
VXL - C++ Libraries for Computer Vision Research and ImplementationVXL (the Vision-something-Libraries) is a collection of C++ libraries designed for computer vision research and implementation. The high quality core libraries contains a fairly exhaustive range of code for numerics, image io and processing, geometry, cross-platform binary io, divided into 6 independent libraries. Add on libraries provide numerical algorithms, image processing, co-ordinate systems, camera geometry, stereo, video manipulation, structure recovery from motion, probability modelling, GUI design, classification, robust estimation, feature tracking, topology, structure manipulation, and much more. VXL is written in ANSI/ISO C++ and is designed to be portable over many platforms. The latest version is always available by CVS and is tested daily on several platforms. It is developed and used by a consortium including groups from the Universities of Leuven, Oxford, Manchester, RPI, and GE Research.
Compilers
Added : 2002-04-16 Amended: 2003-10-15 Licensing : Copyrighted freeware
WebApp / CGI++ - A powerful library for the development of Web applications.WebApp / CGI++ is a powerful library for the development of web applications, with the fundamental notion of separation of programming logic and graphical display.It works as CGI (or FastCGI) programs, but it works nothing like "classical" CGI programming, where the programs contain all the HTML (or the no-much-better approach of things like PHP, where the HTML contains the program). A variety of related tools are included, with particular emphasis on security (including wrappers for OpenSSL cryptographic primitives such as hashes, public-key encryption, and symmetric encryption).
Operating Systems
Compilers
Added : 2011-08-04 Amended: 2011-08-04 Licensing : BSD style
Windows Standard Serial Comm Lib - Windows Standard Serial Comm Lib for C/C++Windows Standard Serial Comm Lib for C/C++. v2.3, July 15, 1998. Win 16 & Win 32 DLLs (Windows 95, NT, 3.1). Serial communications library based on the Windows API. Includes 30 functions plus modem control, ANSI emulation, ASCII/XMODEM/YMODEM protocols, and 8 example programs.
Operating Systems
Compilers
Added : 1998-07-27 Amended: 1998-07-27 Licensing : Shareware
Windows Template Library - WTL is a C++ library for developing Windows applications and UI componentsWindows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. License: Common Public License 1.0
Operating Systems
Compilers
Added : 2013-01-15 Amended: 2013-01-15 Licensing : Open Source
Winsock Interface Library - Winsock network communicationsWin16 & Win32 DLLs. Feb 14, 1998. Version 2.0. The Winsock Interface Library simplifies winsock network communications programming and provides support for the most common Internet protocols such as Finger, SMTP, POP3, FTP, NNTP, and HTTP.
Operating Systems
Added : 1998-07-22 Amended: 1998-07-22 Licensing : Shareware
WinZilla - C/C++ lib for easier Win programmingWinZilla is a statically linked library that provides functions for encapsulating GDI calls, dealing with fonted text, user input, interface, and more. WinZilla also provides a linear programming paradigm, making application development for Windows similar to developing applications for DOS.
Operating Systems
Compilers
Added : 1999-06-04 Amended: 2003-08-19 Licensing : Shareware
WMGL - WM PPC Graphics Library - Windows Mobile Graphics LibraryWMGL (Windows Mobile Graphics Library) is a graphic library developed for Windows Mobile devices. It provides easy-in-use interfaces for fast alpha blending and various 3D effects. Key features:
Operating Systems
Compilers
Added : 2010-11-23 Amended: 2010-11-23 Licensing : Copyrighted freeware
Wt: a C++ Web Toolkit - Wt (pronounced 'witty') is a C++ library for developing interactive web applicatWt (pronounced 'witty') is a C++ library for developing interactive web applications. The API is widget-centric and inspired by desktop GUI APIs. To the developer, it offers complete abstraction of any web-specific implementation details, including event handling, graphics support, and pretty URLs. Unlike many page-based frameworks, Wt was designed for creating stateful applications that are at the same time highly interactive (leveraging techinques such as AJAX to their fullest) and accessible (supporting plain HTML browsers), using automatic graceful degradation or progressive enhancement. It comes with an application server that acts as a stand-alone web server or integrates through FastCGI with other web servers.
Operating Systems
Compilers
Added : 2009-09-01 Amended: 2009-09-01 Licensing : Open Source
wvstreams - C++ Network Programming LibraryWvStreams is a network programming library in C++. WvStreams aims to be an efficient, secure, easy-to-use, and OS-independent library for doing network applications development, and we think that it has pretty much lived up to those goals. Currently all or parts of it work under Linux, *BSD, Solaris, and MAC OS X. Some parts have been ported to Windows, with a more complete port coming really soon.
Operating Systems
Compilers
Added : 2009-09-03 Amended: 2009-09-03 Licensing : Open Source
wxWidgets - Open-source cross-platform GUI librarywxWidgets is an open-source cross-platform GUI library for Windows, GTK+, MacOS 9, MacOS X, Motif, X11and OS/2. wxWidgets is a native look-and-feel toolkit since it uses native widgets wherever possible.C++, Python, Perl, C#/.Net and other languages are supported. wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms. Link with the appropriate library for your platform (Windows/Unix/Mac/WinCE,etc.) and compiler (almost any popular C++ compiler), and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much much more.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 2008-07-29 Licensing : GNU copyleft
Wykobi C++ Computational Geometry Library - Wykobi is an efficient and robust C++ 2D/3D geometry libraryWykobi is an efficient, robust and simple to use multi-platform 2D/3D computational geometry library. Wykobi provides a concise, predictable, and deterministic interface for geometric primitives and complex geometric routines using and conforming to the ISO/IEC 14882:2003 C++ language specification.The design and structure of Wykobi lends itself to easy and seamless integration into projects of any scale that require a robust yet efficient 2D/3D computational geometry back-end.
Operating Systems
Compilers
Added : 2006-08-02 Amended: 2008-06-26 Licensing : GNU copyleft
XD++ - Diagramming MFC Library for VC++.NETDiagram++ Library is an C++ class framework that provides your applications with a drawing surface for diagramming, symbol manipulation, drag and drop, scrolling, zooming, and many other graphics capabilities also includes full source code for its 260+ classes.
Operating Systems
Compilers
Added : 2002-06-30 Amended: 2002-06-30 Licensing : Not known
XMLFoundation - Provides a foundation for XML support in an applicationAs the name suggests it provides a foundation for XML support in an application, however this is much more than just another XML parser. It applies a unique approach to handling XML that allows your application code to focus on the application rather than traversing DOM or subscribing to SAX events. The most unique feature of the XMLFoundation is the object oriented encapsulation that provides XML support in the application layer. XMLFoundation allows you to easily integrate XML with your GUI, or with your server objects, and it natively supports COM, DCOM, and CORBA objects.XMLFoundation contains a small, fast, and portable XML tokenizer that has been refined and optimized in many large software projects for about 10 years. My involvement with XML pre-dates the finalization of the XML 1.0 recommendation by W3C. For years, the only XML Parser that could match XMLFoundation tokenization performance was "Xpat" by James Clark - but as you will see the unique ability to bypass DOM and SAX altogether makes XMLFoundation the fastest solution available for moving XML to and from application layer objects - and it requires far less lines of code to do it. The performance of the stack based XML parser is at the top of its class for non-validating parsers. Parsing and tokenization is only half the task, the other half is getting the results into the member variables, lists, and objects that they need to be in to be useful in the application layer - it is in that task that XMLFoundation is in a class of its own. The performance is unparalleled because the memory buffer that contains the source XML parses directly into your custom class objects without ever being copied or temporarily stored in a DOM tree. It parses directly into your lists, objects, arrays, indexed data structures, and all native C++ data types. It even has support for common containers of element data such as MFC CStrings. It's been used in Java too. That said, speed of execution is less impressive than the speed of development and overall reduction in lines of code required to effectively use XML in your application. If you are building an application that does not use XML and never will..... XMLFoundation is still a very valuable tool available to solve many very common development tasks. The data structure classes alone ( List, Hash, Stack, Tree, Array, QSort ) are very useful. They all have "Iterator" objects so that data structures can be read-referenced by multiple threads at the same time without blocking. The interface is standard to all data structures. If you find MFC or Rogue Wave Standard C++ library data structures useful, you will likely find XMLFoundation data structures even more so.
Operating Systems
Compilers
Added : 2009-08-24 Amended: 2009-08-24 Licensing : Open Source
XMS200JE.ZIP - XMS array class libraryWrapper classes to access XMS, UMBs and the HMA, as well as a templated XMS array class. Test suites and timing programs provided for each class. Source included. Free. DOS PC/Borland C++ specific.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Not known
xpressive - advanced C++ regular expression template library and parser.xpressive is an advanced regular expression template library and recursive descent parser generator. It lets you write regular expressions and regex grammars using expression templates or strings. Expression template regexes are statically bound and syntax-checked at compile time. String-based regexes are dynamically bound and can be specified at runtime.xpressive is a Boost.Regex work-alike, providing an interface similar to the one accepted into the C++ Technical Report (TR1). xpressive depends on Boost version 1.31 or later.
Operating Systems
Compilers
Added : 2005-01-24 Amended: 2005-01-24 Licensing : Public Domain
XRLCAD - CXrL CAD toolsetThis package contains a C++ class library to manipulate Structure (as in Calma/CIF) hierarchies. There is also loaders for CIF and Calma, as well as output drivers for these formats. A bunch of demo programs are included which I wrote when I was testing the library, and these programs turned out be quite useful tools.The library is still in its infancy, but it's reasonably solid; in a few months I'll take another look at it and probably overhaul it.
Operating Systems
Compilers
Added : 1995-01-01 Amended: 1995-01-01 Licensing : Copyrighted freeware
YAMI - Portable library for network and distributed programming.The YAMI stands for "Yet Another Messaging Infrastructure" and is a portable library that helps to write network and distributed programs. The library is centered around the idea of Object Request Broker (ORB, like in CORBA) and provides the asynchronous communication model with dynamic interfaces. The library is portable in the sense of supported platforms and in the sense of supported languages (C, C++, Python, Tcl). The library is also very lightweight -- after compilation takes about 100kB. As an additional tool for C++ programmers, the YDL compiler is provided for processing static interface descriptions and generating C++ stubs and skeletons for staticly typed systems.
Operating Systems
Compilers
Added : 2003-03-07 Amended: 2003-10-13 Licensing : Copyrighted freeware
YAPL - Yet Another Parallel LibraryYAPL (Yet Another Parallel Library) is a small experimental prototype implementation to illustrate some ideas about parallel libraries. It is a header-only library at present.YAPL design principles:The library is designed as an experimentation framework for containers and algorithms.
YAPL structure:The library offers components in five categories:
Operating Systems
Compilers
Added : 2015-10-26 Amended: 2015-10-26 Licensing : Copyrighted freeware
YARD (Yet Another Recursive Descent) Parser - A pure C++ R-D parsing library with a built in BNF meta-language.The YARD library provides a simple meta-language for expressing recursive descent parsers as types, using a notation which closely resembles BNF syntax. Recursive descent parsers are useful for recognizing patterns which can be expressed as context free grammars (CFG's).The YARD library is distributed using the Boost License version 1.0 and can be used, modified and redistributed freely. YARD is designed to be as portable as possible but is designed primarily to work on GCC 3.4.
Compilers
Added : 2005-03-30 Amended: 2005-03-30 Licensing : Copyrighted freeware
Zeus-Framework - C++ Framework used for multithreading and complex computingZeus is a C++ framework witch implements the aspects of Cell Computing Model. The framework is specialized to realize complex application development such as distributed systems, multithreading, cell computing etc. It runs on Linux (tested on OpenSuse 10.x) and on Win32 (tested on Windows XP). It's portable to other operating systems as well. The Zeus serves as Framework for the development of
It supports you in
Zeus bring you following advantages like:
Operating Systems
Compilers
Added : 2011-08-24 Amended: 2011-08-24 Licensing : Open Source
Zipios++ - A small C++/iostream-based library for reading Zip filesZipios++ is a small C++ library for reading Zip files. The structure and public interface are based (somewhat loosely) on the java.util.zip package. The streams created to access the individual entries in a Zip file are based on the standard iostream library. Additional features include- support for embedding of a zip file in another file, e.g. a binary executable - Handling of a mix of ordinary directories and zip files through the same interface as a single zip file directory is handled through. In effect a simple virtual filesystem where ordinary directories and zipfiles can be mounted The library is released under the GNU Lesser General Public License (LGPL).
Operating Systems
Compilers
Added : 2000-08-09 Amended: 2000-08-09 Licensing : GNU copyleft
|
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.