Files
website2022/users/uses_open.html
Frank Wiles dde98de1fb Initial Content Conversion
This is based off of revision 56094d2c9f510f5ee4f1ffd4eb6b73788aaa62d7
of https://github.com/boostorg/website/.

URL of exact commit is: 56094d2c9f
2022-08-14 11:21:12 -05:00

740 lines
24 KiB
HTML

---
title: Open Source Boost
copyright: Rene Rivera 2007.
revised:
---
Open Source Boost
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.
Algocoders
----------
Algocoders
has been using boost since last 6+ years with a mission to help people
build a better software eco-system by standing on the shoulder of giants.
If it wasn't for Boost, then it could have been really difficult for us
to build our framework based on sound mathematical foundation of computer science
using modern C++.
It is the pioneering efforts at Boost towards
"Using and Extending C++11, Boost and Beyond"
which has motivated us to devote ourself in developing bullet-size capsules
in the form of tiny booklets with industrial-set framework to lift the thin veil
with initial focus on practical usage of C++11
vis-a-vis mathematical foundation behind it.
Enthused by boost, we are working tirelessly towards publishing a series of
books (or booklets)
which will bridge the gap between esoteric and street-side ones.
Initial focus will be on C++11, Boost, Loki, STL, Algorithms, Data Structures,
Multi-threading, Design Patterns, gcc, Clang, valgrind.
First book in this series is Foundation of Algorithms in C++11, Volume 1:
Using and Extending C++11, Boost and Beyond (published December 2012)
List of books in progress:
* Smart Pointers : Tips and Techniques in C++ : Using and Extending C++11, Boost and Beyond
* C++11 FAQs : Using and Extending C++11, Boost and Beyond
* Concepts & Traits C++ : Using and Extending C++11, Boost and Beyond
We use almost all the libraries in Boost including trunk and branches,
especially Spirit, Phoenix, Proto, MPL, Fusion.
Adobe Software Libraries
------------------------
The [Adobe Software Libraries](http://opensource.adobe.com/)
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 [Boost.Any](../doc/libs/release/libs/any/index.html),
[Boost.Bind](../doc/libs/release/libs/bind/index.html),
[Boost.Function](../doc/libs/release/libs/function/index.html),
[Boost.MPL](../doc/libs/release/libs/mpl/index.html),
[Boost.Operators](../doc/libs/release/libs/utility/operators.htm),
[Boost.Range](../doc/libs/release/libs/range/index.html),
[Boost.StaticAssert](../doc/libs/release/libs/static_assert/index.html),
[Boost.Thread](../doc/libs/release/libs/thread/index.html),
and [Boost.TypeTraits](../doc/libs/release/libs/type_traits/index.html).
Currently Boost and the Adobe Software Libraries are in use
in around 30 Adobe products.
LyX Document Editor
-------------------
[The LyX
Document Editor](http://www.lyx.org/) 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](../doc/libs/release/libs/array/index.html), [Boost.Bind](../doc/libs/release/libs/bind/index.html),
[Boost.Regex](../doc/libs/release/libs/regex/index.html),
[Boost.TypeTraits](../doc/libs/release/libs/type_traits/index.html),
[Boost.Function](../doc/libs/release/libs/function/index.html),
and [Boost.Signals](../doc/libs/release/libs/signals/index.html).
CodeSynthesis XML Schema to C++ Data Binding Compiler (XSD)
by Code Synthesis Tools CC
---------------------------------------------------------------------------------------
[CodeSynthesis XML
Schema to C++ Data Binding Compiler (XSD)](http://codesynthesis.com/products/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 [Boost.Regex](../doc/libs/release/libs/regex/index.html) and
[Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html)
libraries from Boost. [Boost.Regex](../doc/libs/release/libs/regex/index.html) is
used to perform transformations on file, type and member names.
[Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html)
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 [Boost.DateTime](../doc/libs/release/libs/date_time/index.html)
library.
CodeShop
--------
I am happy to announce Amsterdam based [CodeShop](http://www.code-shop.com) has been using
Boost since 2005 on all of it's projects (and CodeShop memebers
have been using Boost since 2001).
We used it on the following:
*OpenZoep*
An open source voip stack
(xmpp-sip*rtp*(port)audio/codecs), capable of pc2pc
calls and pc2pstn calls - it's a message based sdk, so you
could write your own Gtalk or Skype ...
Boost is used everywhere: from the xmpp implementation
([Boost.Function](../doc/libs/release/libs/function/index.html),
[Boost.Asio](../doc/libs/release/libs/asio/index.html)) to
the codecs-wrapper ([Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html))
- and more. Boost made the code a lot easier, more fun, safer
and faster to develop. Bjam was used as build system.
See [description](http://www.code-shop.com/2007/1/14/openzoep)
and [trac&svn](https://open.code-shop.com/trac/openzoep).
*Abonja / Whitelabelvideo*
Online videosharing platform: you can upload and watch
flashvideo online, but at the same time run your pc client and
download all your preferences automatically for viewing later
at home
Boost and C++ are used for the serverside tooling. Bjam is
used as build system.
[www.abonja.nl](http://www.abonja.nl) and [www.whitelabelvideo.nl](http://www.whitelabelvideo.nl)
(Dutch only: a javascript sdk for viewing and uploading - Boost
is used serverside also).
Code from above and other projects made available as plain
download or as library.
Pieces address 'simple' problems like a windows registry
wrapper to more system like parts as for instance a drm
implementation. Boost is used all over (\_\_filesystem, [Boost.Thread](../doc/libs/release/libs/thread/index.html),
[Boost.Asio](../doc/libs/release/libs/asio/index.html),
[Boost.Spirit](../doc/libs/release/libs/spirit/index.html)
etc); [Boost.Build](../build/)
is used as build system.
CGAL
----
[CGAL](http://www.cgal.org/) 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 : [Boost.Operators](../doc/libs/release/libs/utility/operators.htm),
[Boost.Iterator](../doc/libs/release/libs/iterator/index.html),
[Boost.Tuple](../doc/libs/release/libs/tuple/index.html),
[Boost.ConceptCheck](../doc/libs/release/libs/concept_check/index.html),
[Boost.MPL](../doc/libs/release/libs/mpl/index.html),
[Boost.Bind](../doc/libs/release/libs/bind/index.html),
[Boost.Optional](../doc/libs/release/libs/optional/index.html)
and [Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html)."*
ALPS
----
[ALPS](http://alps.comp-phys.org/) 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:
[Boost.Graph](../doc/libs/release/libs/graph/index.html),
[Boost.Random](../doc/libs/release/libs/random/index.html),
[Boost.MultiIndex](../doc/libs/release/libs/multi_index/index.html),
[Boost.ProgramOptions](../doc/libs/release/libs/program_options/index.html),
[Boost.LexicalCast](../doc/libs/release/libs/conversion/lexical_cast.htm),
[Boost.Serialization](../doc/libs/release/libs/serialization/index.html),
[Boost.Regex](../doc/libs/release/libs/regex/index.html),
[Boost.Tuple](../doc/libs/release/libs/tuple/index.html),
[Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html),
[Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html),
[Boost.Bind](../doc/libs/release/libs/bind/index.html),
[Boost.Functional](../doc/libs/release/libs/functional/index.html)
and [Boost.TypeTraits](../doc/libs/release/libs/type_traits/index.html)
SmartWin++
----------
[SmartWin++](http://smartwin.sourceforge.net/) 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](http://openvrml.org/) 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++](http://bayesclasses.sourceforge.net/Bayes++.html)
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](http://www.acfr.usyd.edu.au/). Bayes++ makes particularly heavy use of [Boost.Ublas](../doc/libs/release/libs/numeric/ublas/index.html)
for matrix and numeric computations.
Kohonen Neural Network Library (KNNL)
-------------------------------------
[Kohonen neural network
library](http://knnl.sourceforge.net/) is a set of classes and functions for design, train
and use Kohonen networks (self organizing maps).
KNNL Uses [Boost.Bind](../doc/libs/release/libs/bind/index.html),
[Boost.Function](../doc/libs/release/libs/function/index.html),
[Boost.TypeTraits](../doc/libs/release/libs/type_traits/index.html)
[Boost.ProgramOptions](../doc/libs/release/libs/program_options/index.html).
The C++/Tk Library
------------------
[The
C++/Tk Library](http://cpptk.sourceforge.net) is an open source C++ interface to the Tk
GUI Library.
GluCat
------
[GluCat](http://glucat.sourceforge.net/) 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](http://open-ms.sourceforge.net/) 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++](http://libpdfxx.sourceforge.net/doc/index.html)
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](http://regina.sourceforge.net/) 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](http://metafs.sourceforge.net/) 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](http://iiiasn1.sourceforge.net/main.html)
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](http://dgd.sourceforge.net/dgd_home.html) (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](http://fear.sourceforge.net/) is a language
independent open-source project providing portable support for
the creation of genuine Artificial Intelligence within
realistic simulated worlds.
XEngine
-------
[XEngine](http://xengine.sourceforge.net/features.php) 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++](http://spheral.sourceforge.net/) 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 [Boost.Python](../doc/libs/release/libs/python/doc/index.html).
C++ XML Objects
---------------
[C++ XML Objects](http://cppxmlobj.sourceforge.net/) is a
framework for persisting hierarchies of C++ objects to and from
XML.
HippoDraw
---------
[HippoDraw](http://www.slac.stanford.edu/grp/ek/hippodraw/index.html)
provides a highly interactive data analysis environment.
HippoDraw uses [Boost.Python](../doc/libs/release/libs/python/doc/index.html).
Orocos
------
[The Orocos Robot Control Software Application
Framework](http://people.mech.kuleuven.ac.be/~psoetens/orocos/doc/orocos-control-manual.html).
ECell
-----
The [E-Cell
Project](http://www.e-cell.org/) 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](http://vcsme.sourceforge.net/), 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: [Boost.Format](../doc/libs/release/libs/format/index.html),
[Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html),
[Boost.Utility](../doc/libs/release/libs/utility/index.html)
and [Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html)."*
Monotone
--------
[Monotone](http://www.venge.net/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: [Boost.DateTime](../doc/libs/release/libs/date_time/index.html),
[Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html),
[Boost.Conversion](../doc/libs/release/libs/conversion/index.html),
[Boost.Optional](../doc/libs/release/libs/optional/index.html),
[Boost.Random](../doc/libs/release/libs/random/index.html),
[Boost.Regex](../doc/libs/release/libs/regex/index.html),
[Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html),
[Boost.StaticAssert](../doc/libs/release/libs/static_assert/index.html),
[Boost.Tokenizer](../doc/libs/release/libs/tokenizer/index.html),
[Boost.Tuple](../doc/libs/release/libs/tuple/index.html) and
[Boost.Test](../doc/libs/release/libs/test/index.html)."*
Hydranode Engine
----------------
[Hydranode
Engine](http://hydranode.com/) 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: [Boost.Bind](../doc/libs/release/libs/bind/index.html),
[Boost.Function](../doc/libs/release/libs/function/index.html),
[Boost.Lambda](../doc/libs/release/libs/lambda/index.html),
[Boost.MultiIndex](../doc/libs/release/libs/multi_index/index.html),
[Boost.Signals](../doc/libs/release/libs/signals/index.html),
Threads, [Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html),
Format, [Boost.LexicalCast](../doc/libs/release/libs/conversion/lexical_cast.htm).
Other Boost libraries being used include [Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html),
[Boost.StringAlgorithms](../doc/libs/release/libs/algorithm/string/index.html),
[Boost.DateTime](../doc/libs/release/libs/date_time/index.html),
[Boost.ProgramOptions](../doc/libs/release/libs/program_options/index.html),
[Boost.Spirit](../doc/libs/release/libs/spirit/index.html),
[Boost.Random](../doc/libs/release/libs/random/index.html),
[Boost.Tokenizer](../doc/libs/release/libs/tokenizer/index.html),
[Boost.TypeTraits](../doc/libs/release/libs/type_traits/index.html),
[Boost.Tribool](../doc/libs/release/doc/html/tribool.html),
[Boost.Tuple](../doc/libs/release/libs/tuple/index.html) and
[Boost.Any](../doc/libs/release/libs/any/index.html). 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 [Boost.MultiIndex](../doc/libs/release/libs/multi_index/index.html)
containers, which significantly reduced development time and
kept code clean. Format is being used for all text formatting.
Having [Boost.Thread](../doc/libs/release/libs/thread/index.html)
and [Boost.FileSystem](../doc/libs/release/libs/filesystem/index.html)
libraries available made cross-platform development lot easier
in those areas."*
Hugin
-----
With [hugin](http://hugin.sourceforge.net/) you can assemble a
mosiac of photographs into a complete immersive panorama,
stitch any series of overlapping pictures and much more.
Enblend
-------
[Enblend](http://enblend.sourceforge.net/) 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](http://www.gnu.org/software/src-highlite/source-highlight.html), 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
[Boost.Regex](../doc/libs/release/libs/regex/index.html)
Luabind
-------
[Luabind](http://luabind.sourceforge.net/) 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](http://cpptcl.sourceforge.net/) is a library that
allows the easy integration of C++ and Tcl.
Mordor
------
The [Modor](http://code.mozy.com/projects/mordor/) project
is a high performance I/O library.
Issued under [BSD license](https://opensource.org/licenses/bsd-license.php).
NOX
---
The [NOX](http://www.noxrepo.org/) project is the original OpenFlow controller,
and facilitates development of fast C++ controllers on Linux.
NOX is a piece of the Software Defined Networking ecosystem.
Specifically, it?s a platform for building network control applications.
QuantLib
--------
The [QuantLib](http://quantlib.org/) 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
[Boost.SmartPointers](../doc/libs/release/libs/smart_ptr/index.html),
[Boost.Iterator](../doc/libs/release/libs/iterator/index.html),
and [Boost.Test](../doc/libs/release/libs/test/index.html).
CBCanaylzer
-----------
[CBCanaylzer](http://www.biozentrum.uni-wuerzburg.de/index.php?id=524)
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: [Boost.ProgramOptions](../doc/libs/release/libs/program_options/index.html)
- creates really nice output, and is both easy to extend and
simple to handle. [Boost.Iterator](../doc/libs/release/libs/iterator/index.html),
[Boost.Spirit](../doc/libs/release/libs/spirit/index.html) -
Saved a lot of my time, and makes the vast amount of biological
file formats simple to support, [Boost.SharedPointer](../doc/libs/release/libs/smart_ptr/index.html),
[Boost.Lambda](../doc/libs/release/libs/lambda/index.html).*
Profdist
--------
[Profdist](http://www.biozentrum.uni-wuerzburg.de/index.php?id=523)
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 libraries used were: [Boost.StringAlgorithms](../doc/libs/release/libs/algorithm/string/index.html),
[Boost.Ref](../doc/libs/release/libs/bind/ref.html),
[Boost.Iterator](../doc/libs/release/libs/iterator/index.html),
[Boost.Spirit](../doc/libs/release/libs/spirit/index.html),
[Boost.SharedPointer](../doc/libs/release/libs/smart_ptr/index.html)
and [Boost.Lambda](../doc/libs/release/libs/lambda/index.html)."*
The Yake Engine
---------------
[The Yake
Engine](http://www.yake.org/) 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.
Public Sector Credit Solutions
------------------------------
[Public Sector Credit Solutions](http://www.publicsectorcredit.org/) An open source project modelling sovereign rating debt ratings uses
a Monte Carlo simulation which includes calls to Boost.Math
normal and Cauchy random number generators.
[Public Sector Credit Framework](http://www.publicsectorcredit.org/pscf.html)
Python-Ogre
-----------
[Python-Ogre](http://python-ogre.python-hosting.com/) is a
Python bindings for Ogre 3D - a scene-oriented, flexible 3D
engine.
Python-Ogre uses [Boost.Python](../doc/libs/release/libs/python/doc/index.html)
to expose next libraries to Python:
* Ogre
* Newton
* ODE
* OgreAL
* CEGUI
* OIS