| Home | Libraries | People | FAQ | More

## Open Source Boost

Boost is used in a variety of Open Source Projects, both applications and libraries. Indeed many Open Source libraries developed around Boost have in the past been judged of high enough quality to be absorbed into the main Boost source tree, a process that will no doubt continue into the future. Others are in highly specialized niche markets, ranging from probability theory to astronomy, via mass spectroscopy: whatever your field of interest you'll find something of value in Boost.

Adobe Software Libraries
The Adobe Software Libraries provide components for modeling the human interface appearance and behavior in a software application. The Adobe Software Libraries depend on many parts of Boost including Any, Bind, Function, MPL, Operators, Range, Static Assertions, Threads, and Type Traits.
Currently Boost and the Adobe Software Libraries are in use in around 30 Adobe products.

LyX Document Editor The LyX Document Editor is an advanced open source document processor that encourages an approach to writing based on the structure of your documents, not their appearance. LyX produces high quality, professional output, using LaTeX, an industrial strength typesetting engine. LyX uses many parts of Boost, including Array, Bind, Regex, Type Traits, Function, and Signals.

CodeSynthesis XML Schema to C++ Data Binding Compiler (XSD) by Code Synthesis Tools CC
CodeSynthesis XML Schema to C++ Data Binding Compiler (XSD) is an open-source, cross-platform XML Data Binding implementation for C++. Provided with an XML instance specification (XML Schema), it generates C++ classes that represent the given vocabulary as well as parsing and serialization code. You can then access the data stored in XML using types and functions that semantically correspond to your application domain rather than dealing with elements, attributes, and text in a direct representation of XML such as DOM or SAX.
XSD uses the Regex and Filesystem libraries from Boost. Regex is used to perform transformations on file, type and member names. Filesystem is used to capture and manipulate XML Schema include and import paths. Additionally, we are planning to provide an optional mapping of XML Schema date and time types to C++ types from the Boost Date Time library.

CGAL CGAL is the Computational Geometry Algorithms Library, an open source C++ library providing generic components such as triangulations, convex hulls algorithms, boolean operations of polygons and many other things. "We currently use the following Boost libraries : Operators, Iterators, Tuples, Concept Check, MPL, Bind, Optional and Smart Pointers."

ALPS ALPS is an open source project to develop codes for the accurate simulation of quantum lattice models, such as quantum magnets, electronic systems and Bose-Einstein condensates. The main Boost libraries used are: Graph, Random, Multi Array, Program Options, Lexical Cast, Serialization, Regex, Tuple, Filesystem, Smart Pointer, Bind, Functional and Type Traits

SmartWin++ SmartWin++ is a 100% free GUI library for developing Windows applications, it's free both as in "free beer" and as in "free speech", you can freely use SmartWin++ for commercial applications and for Open Source applications!

Open VRML Open VRML is a free cross-platform runtime for VRML. The basic OpenVRML distribution includes libraries you can use to add VRML support to an application, and Lookat, a simple stand-alone VRML browser.

Bayes++ Bayes++ is an open source library that represents and implements a wide variety of numerical algorithms for Bayesian Filtering of discrete systems from the Australian Centre for Field Robotics. Bayes++ makes particularly heavy use of the Boost Ublas library for matrix and numeric computations.

The C++/Tk Library The C++/Tk Library is an open source C++ interface to the Tk GUI Library.

GluCat GluCat is a library of template classes which model the universal Clifford algebras over the real or complex fields, with arbitrary dimension and arbitrary signature.

OpenMS OpenMS is an open source C++ library for LC/MS data management, reduction, evaluation, visualization, storage and sophisticated statistical analyses. It can be used to develop mass spectrometry related applications.

libpdf++ libpdf++ is an object-oriented library for generating PDF (portable document format) files. It is designed in a way that the objects in the document are mapped directly to classes in the library.

Regina Regina is a suite of mathematical software for 3-manifold topologists. It focuses upon the study of 3-manifold triangulations and includes support for normal surfaces and angle structures.

MetaFS MetaFS is a daemon for Linux (and Linux only) that allows you to access information about your files (such as MP3 tags or JPEG's EXIF tags) easily and consistently using extended attributes. It also allows you to perform fast searches using this information. MetaFS is extensible, so anyone can write plug-ins to access new types of metadata.

The ASN.1 Tool
Abstract Syntax Notation One (ASN.1) is a formal language for abstractly describing messages to be exchanged among an extensive range of applications involving the Internet, intelligent network, cellular phones, ground-to-air communications, electronic commerce, secure electronic services, interactive television, intelligent transportation systems, Voice Over IP and others.
The ASN.1 Tool includes two parts : an ASN.1 compiler "asnparser" which compiles the Abstract Syntax to c++ files, and a runtime library which is used to link with the c++ files generated by asnparser. Based on the works of Open H.323 projects, it is developed for the needs of H.450 series protocol.

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

FEAR FEAR is a language independent open-source project providing portable support for the creation of genuine Artificial Intelligence within realistic simulated worlds.

XEngine XEngine is a platform- and rendering-API-independent 3D engine for real-time visualization with support for programmable graphics pipeline architectures and is implemented in C++.

Spheral++ Spheral++ is a numerical tool for simulating the evolution of a set of fluid or solid materials subject to hydrodynamic, gravitational, and radiative effects. Spherical++ uses the Boost Python library.

C++ XML Objects C++ XML Objects is a framework for persisting hierarchies of C++ objects to and from XML.

HippoDraw HippoDraw provides a highly interactive data analysis environment. HippoDraw uses the Boost Python library.

Orocos The Orocos Robot Control Software Application Framework.

ECell The E-Cell Project is an international research project aiming at developing necessary theoretical supports, technologies and software platforms to allow precise whole cell simulation.

VCS Made Easy
VCS Made Easy, or vcsme for short, is an utility whose main purpose is to simplify the maintenance of file trees managed by a version control system, such as the well known CVS or Subversion. Simply put, it automates the process of bringing all these directories to an up-to-date status with a single and simple command.
"The following Boost libraries were used: Format, Smart Pointers, Utility (noncopyable) and Filesystem."

Monotone
Monotone is a free distributed version control system. It provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol. It understands history-sensitive merging, lightweight branches, integrated code review and 3rd party testing. It uses cryptographic version naming and client-side RSA certificates. It has good internationalization support, has no external dependencies, runs on linux, solaris, OSX, windows, and other unixes, and is licensed under the GNU GPL.
"The followind Boost libraries were used: Date Time, Filesystem, Conversion, Optional, Random, Regex, Smart Pointers, Static Assertions, Tokenizer, Tuple and Test."

Hydranode Engine
Hydranode Engine is a plugin-driven P2P client engine that relies heavily on Boost libraries. Hydranode codebase is licenced under GNU GPL, and is developed mainly by Alo Sarv. Currently in Beta phase, Hydranode runs on wide range of platforms, including Windows, Linux, BSD, Mac OS, Solaris etc.
"Hydranode Engine and plugins rely heavily on the following Boost libraries: Bind, Function, Lambda, MultiIndex, Signals, Threads, Smart Pointer, Format, Lexical Cast. Other Boost libraries being used include FileSystem, String Algorithm, Date Time, Program Options, Spirit, Random, Tokenizer, Type Traits, Tribool, Tuple and Any. Once Boost 1.33 is released, I'm also looking forward to using the Boost Iostreams library in Hydranode.
All complex data structures in Hydranode are implemented using Multi Index containers, which significantly reduced development time and kept code clean. Format is being used for all text formatting. Having Threads and FileSystem libraries available made cross-platform development lot easier in those areas."

Hugin With hugin you can assemble a mosiac of photographs into a complete immersive panorama, stitch any series of overlapping pictures and much more.

Enblend Enblend is a tool for compositing images. Given a set of images that overlap in some irregular way, Enblend overlays them in such a way that the seam between the images is invisible, or at least very difficult to see.

GNU Source-highlight
GNU Source-highlight, given a source file, produces a document with syntax highlighting. The colors and the styles can be specified (bold, italics, underline) by means of a configuration file, and some other options can be specified at the command line. The output format can be HTML, XHTML and ANSI color escape sequences. GNU Source Highlight is build around the Boost Regex library

Luabind
Luabind is a library that helps you create bindings between C++ and lua. It has the ability to expose functions and classes, written in C++, to lua. It will also supply the functionality to define classes in lua and let them derive from other lua classes or C++ classes. Lua classes can override virtual functions from their C++ baseclasses. It is written towards lua 5.0, and does not work with lua 4.

C++/Tcl C++/Tcl is a library that allows the easy integration of C++ and Tcl.

QuantLib The QuantLib project provides a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life. Boost components used include Smart Pointers, Iterators, and the Test Framework.

CBCanaylzer
CBCanaylzer is developed by the Department of Bioinformatics, at the University of Wuerzburg.
"CBCAnalyzer (CBC = compensatory base change) is a tool to create ``small'' phylogenetic trees from sequence alignments. To measure the distance of sequences the compensatory base changes are detected and counted. The bionj algorithm is then used to construct a tree. CBCAnalyzer is available on Windows, Linux and partly works on MacOSX.
Boost libraries used: Program Options - creates really nice output, and is both easy to extend and simple to handle. Iterator, Spirit - Saved a lot of my time, and makes the vast amount of biological file formats simple to support, Shared Pointer, Lambda.

Profdist
Profdist is developed by the Department of Bioinformatics, at the University of Wuerzburg.
"Profdist is a tool for the construction of large phylogenetic trees based on profile distances. The input alignment data gets extended by random picking of rows, and a clustering technique is used to create profiles of the most frequent subtrees. The iterative approach allows working on large datasets. Currently the application is very limited by the quality of wxWidgets, and only available for Windows and Linux.
The Boost librarie used were: String Algorithms, Ref, Iterator, Spirit, Shared Pointer and Lambda."

The Yake Engine The Yake Engine is a component-based, object-oriented engine written in C++ and primarily designed for VR applications and games. It abstracts typical low-level and middleware APIs and provides various low, mid and application level functionality as well as tools to create and import content.

Python-Ogre Python-Ogre is a Python bindings for Ogre 3D - a scene-oriented, flexible 3D engine. Python-Ogre uses Boost.Python to expose next libraries to Python: * Ogre * Newton * ODE * OgreAL * CEGUI * OIS

| Copyright © 2005 Various Authors