- Libraries Listed Alphabetically
- Libraries Listed by Category
- String and text processing
- Containers
- Iterators
- Algorithms
- Function Objects and higher-order programming
- Generic Programming
- Template Metaprogramming
- Preprocessor Metaprogramming
- Concurrent Programming
- Math and numerics
- Correctness and testing
- Data structures
- Image processing
- Input/Output
- Inter-language support
- Memory
- Parsing
- Programming Interfaces
- Miscellaneous
- Broken compiler workarounds
- Libraries Retired from Boost
See Getting Started page to find out
how to download, build, and install the libraries.
- accumulators - Framework for incremental
calculation, and collection of statistical accumulators, from Eric Niebler.
- any - Safe, generic container for single
values of different value types, from Kevlin Henney.
- array - STL compliant
container wrapper for arrays of constant size, from
Nicolai Josuttis.
- asio - Portable networking and other low-level
I/O, including sockets, timers, hostname resolution, socket iostreams, serial
ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff.
- assign - Filling containers
with constant or generated data has never been
easier, from Thorsten Ottosen.
- bimap - Bidirectional maps, from Matias Capeletto.
- bind and mem_fn - Generalized binders for function/object/pointers and member functions, from Peter
Dimov.
- call_traits -
Defines types for passing parameters, from John Maddock,
Howard Hinnant, et al.
- circular_buffer - STL compliant
container also known as ring or cyclic buffer, from Jan Gaspar.
- compatibility - Help for
non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
Maurer.
- compressed_pair
- Empty member optimization, from John Maddock, Howard
Hinnant, et al.
- concept check
- Tools for generic programming, from Jeremy Siek.
- config - Helps boost
library developers adapt to compiler idiosyncrasies; not
intended for library users.
- conversion - Polymorphic and lexical casts, from Dave Abrahams and
Kevlin Henney.
- crc - Cyclic Redundancy Code, from Daryle
Walker.
- date_time - Date-Time library from Jeff Garland.
- dynamic_bitset - A runtime sized version of std::bitset from Jeremy Siek and Chuck Allison.
- exception - A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads (N2179), from Emil Dotchevski.
- enable_if - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine.
- filesystem - Portable paths,
iteration over directories, and other useful filesystem operations, from
Beman Dawes.
- flyweight - Design pattern
to manage large quantities of highly redundant objects,
from Joaquín M López Muñoz.
- foreach - BOOST_FOREACH macro for easily
iterating over the elements of a sequence, from Eric Niebler.
- format - Type-safe 'printf-like' format
operations, from Samuel Krempp.
- function - Function object wrappers
for deferred calls or callbacks, from Doug Gregor.
- function_types - Type traits
for callable, built-in types, from Tobias Schwinger
- functional - Enhanced
function object adaptors, from Mark Rodgers.
- functional/hash -
A TR1 hash function object that can be extended to hash user defined
types, from Daniel James.
- fusion -
Library for working with tuples, including various containers, algorithms, etc.
From Joel de Guzman, Dan Marsden and Tobias Schwinger.
- gil - Generic Image Library, from
Lubomir Bourdev and Hailin Jin.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- integer - Headers to ease
dealing with integral types.
- interprocess - Shared memory, memory mapped files,
process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga
- interval - Extends the
usual arithmetic functions to mathematical intervals, from Guillaume
Melquiond, Hervé Brönnimann and Sylvain Pion.
- intrusive - Intrusive containers and algorithms, from Ion Gaztañaga
- in_place_factory, typed_in_place_factory- Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola.
- io state savers - Save I/O state to
prevent jumbled data, from Daryle Walker.
- iostreams - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.
- iterators - Iterator
construction framework, adaptors, concepts, and more, from Dave
Abrahams, Jeremy Siek, and Thomas Witt.
- lambda - Define small unnamed
function objects at the actual call site, and more, from Jaakko Järvi and
Gary Powell.
- math - Several contributions in the
domain of mathematics, from various authors.
- math/complex number algorithms -
These complex number algorithms are the inverses of trigonometric functions currently present in the C++ standard, from John Maddock.
- math/common_factor - Greatest
common divisor and least common multiple, from Daryle Walker.
- math/octonion -
Octonions, from Hubert Holin.
- math/quaternion -
Quaternions, from Hubert Holin.
- math/special_functions -
A wide selection of mathematical special functions from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang.
- math/statistical distributions -
A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow
- minmax - standard library
extensions for simultaneous min/max and min/max element computations,
from Hervé Brönnimann.
- MPI - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer.
- mpl - Template metaprogramming
framework of compile-time algorithms, sequences and metafunction classes,
from Aleksey Gurtovoy.
- multi_array - Multidimensional
containers and adaptors for arrays of contiguous data, from Ron Garcia.
- multi_index - Containers with
multiple STL-compatible access interfaces, from Joaquín M López
Muñoz.
- numeric/conversion - Optimized Policy-based Numeric Conversions,
from Fernando Cacciola.
- operators - Templates
ease arithmetic classes and iterators, from Dave Abrahams
and Jeremy Siek.
- optional - Discriminated-union
wrapper for optional values, from Fernando Cacciola.
- parameter -
Write functions that accept arguments by name, by David Abrahams
and Daniel Wallin.
- pointer container
- Containers for storing heap-allocated polymorphic objects to ease
OO-programming, from Thorsten Ottosen.
- pool - Memory pool management, from
Steve Cleary.
- preprocessor - Preprocessor
metaprogramming tools including repetition and recursion, from Vesa Karvonen
and Paul Mensonides.
- program_options - Access to configuration
data given on command line, in config files and other sources, from Vladimir Prus.
- property map
- Concepts defining interfaces which map key objects to
value objects, from Jeremy Siek.
- proto - Expression template library and compiler
construction toolkit for domain-specific embedded languages, from Eric Niebler.
- python - Reflects C++
classes and functions into Python, from Dave
Abrahams.
- random - A complete
system for random number generation, from Jens Maurer.
- range - A new infrastructure
for generic algorithms that builds on top
of the new iterator concepts, from Thorsten Ottosen.
- rational - A rational
number class, from Paul Moore.
- ref - A utility library for
passing references to generic functions, from Jaako Järvi,
Peter Dimov, Doug Gregor, and Dave Abrahams.
- regex - Regular expression
library, from John Maddock.
- scope_exit
- Execute arbitrary code at scope exit, from Alexander Nasonov.
- serialization
- Serialization for persistence and marshalling, from Robert Ramey
- signals - managed signals &
slots callback implementation, from Doug Gregor.
- signals2 - managed signals &
slots callback implementation (thread-safe version 2), from Frank Mori Hess.
- smart_ptr - Six smart
pointer class templates, from Greg Colvin, Beman Dawes,
Peter Dimov, and Darin Adler.
- statechart - Arbitrarily
complex finite state machines can be implemented in easily readable and
maintainable C++ code, from Andreas Huber.
- static_assert
- Static assertions (compile time assertions), from John
Maddock.
- spirit - LL parser framework
represents parsers directly as EBNF grammars in inlined C++, from Joel de
Guzman, Hartmut Kaiser, Dan Nuffer and team.
- string_algo -
String algorithms library, from Pavol Droba.
- swap -
Enhanced generic swap function, from Joseph Gauterin.
- system - Operating system support,
including the diagnostics support that will be part of the C++0x standard
library, from Beman Dawes.
- test - Support for simple program testing,
full unit testing, and for program
execution monitoring, from Gennadiy Rozental.
- thread - Portable C++
multi-threading, from William Kempf and Anthony Williams.
- timer - Event timer,
progress timer, and progress display classes, from Beman
Dawes.
- tokenizer - Break of a string or other
character sequence into a series of tokens, from John Bandela.
- TR1 - An implementation of the Technical
Report on C++ Library Extensions, using other Boost libraries as a basis, from John Maddock.
- tribool - 3-state boolean type library, from Doug Gregor.
- tuple - Ease definition of functions returning multiple values, and more,
from Jaakko Järvi.
- type_traits -
Templates for fundamental properties of types, from John
Maddock, Steve Cleary, et al.
- typeof -
Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt.
- uBLAS - Basic linear algebra
for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.
- units -
Zero-overhead dimensional analysis and unit/quantity
manipulation and conversion, from Matthias Schabel and Steven Watanabe.
- unordered - unordered associative containers, from Daniel James.
- utility - Class noncopyable
plus checked_delete(), checked_array_delete(), next(),
prior()
function templates, plus base-from-member idiom, from Dave Abrahams and others.
- value_initialized - Wrapper for uniform-syntax value initialization,
from Fernando Cacciola, based on the original idea of David Abrahams.
- variant - Safe, generic, stack-based discriminated union
container, from Eric Friedman and Itay Maman.
- wave - Standards conformant
implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser
- xpressive - Regular expressions that can be written as strings or as expression templates,
and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler.
Libraries Listed by Category
String and text processing
- conversion/lexical_cast - lexical_cast
class template, from Kevlin Henney.
- format - Type-safe 'printf-like' format
operations, from Samuel Krempp.
- iostreams - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.
- regex - Regular expression
library, from John Maddock
- spirit - LL parser framework
represents parsers directly as EBNF grammars in inlined C++, from Joel de
Guzman, Hartmut Kaiser, Dan Nuffer and team.
- string_algo -
String algorithms library, from Pavol Droba
- tokenizer - Break of a string or other
character sequence into a series of tokens, from John Bandela
- wave - Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser.
- xpressive - Regular expressions that can be written as strings or as expression templates,
and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler.
- array - STL compliant
container wrapper for arrays of constant size, from
Nicolai Josuttis.
- bimap - Bidirectional maps, from Matias Capeletto.
- circular_buffer - STL compliant
container also known as ring or cyclic buffer, from Jan Gaspar.
- dynamic_bitset - A runtime sized version of std::bitset from Jeremy Siek and Chuck Allison.
- gil - Generic Image Library, from
Lubomir Bourdev and Hailin Jin.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- intrusive - Intrusive containers and algorithms, from Ion Gaztañaga
- multi_array - Multidimensional
containers and adaptors for arrays of contiguous data, from Ron Garcia.
- multi_index - Containers with
multiple STL-compatible access interfaces, from Joaquín M López
Muñoz.
- pointer container
- Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen.
- property map
- Concepts defining interfaces which map key objects to
value objects, from Jeremy Siek.
- unordered - unordered associative containers, from Daniel James.
- variant - Safe, generic, stack-based
discriminated union container, from Eric Friedman and Itay Maman.
- gil - Generic Image Library, from
Lubomir Bourdev and Hailin Jin.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- iterators - Iterator
construction framework, adaptors, concepts, and more, from Dave
Abrahams, Jeremy Siek, and Thomas Witt.
- operators - Templates
ease arithmetic classes and iterators, from Dave Abrahams
and Jeremy Siek.
- tokenizer - Break of a string or other
character sequence into a series of tokens, from John Bandela.
- foreach - BOOST_FOREACH macro for easily
iterating over the elements of a sequence, from Eric Niebler.
- gil - Generic Image Library, from
Lubomir Bourdev and Hailin Jin.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- minmax - standard library
extensions for simultaneous min/max and min/max element computations,
from Hervé Brönnimann.
- range - A new infrastructure
for generic algorithms that builds on top
of the new iterator concepts, from Thorsten Ottosen.
- string_algo -
String algorithms library, from Pavol Droba
- utility - Class next(), prior()
function templates, from Dave Abrahams and others.
- bind and mem_fn - Generalized binders for function/object/pointers and member functions, from Peter Dimov.
- function - Function object wrappers
for deferred calls or callbacks, from Doug Gregor.
- functional - Enhanced
function object adaptors, from Mark Rodgers.
- functional/hash -
A TR1 hash function object that can be extended to hash user defined
types, from Daniel James.
- lambda - Define small unnamed
function objects at the actual call site, and more, from Jaakko Järvi and
Gary Powell.
- ref - A utility library for
passing references to generic functions, from Jaako Järvi,
Peter Dimov, Doug Gregor, and Dave Abrahams.
- signals - managed signals &
slots callback implementation, from Doug Gregor.
- signals2 - managed signals &
slots callback implementation (thread-safe version 2), from Frank Mori Hess.
- result_of - determines the type of a function call expression.
- call_traits -
Defines types for passing parameters, from John Maddock,
Howard Hinnant, et al.
- concept check
- Tools for generic programming, from Jeremy Siek.
- enable_if -
Selective inclusion of function template overloads, from Jaakko
Järvi, Jeremiah Willcock, and Andrew Lumsdaine.
- function_types - Type traits
for callable, built-in types, from Tobias Schwinger
- gil - Generic Image Library, from
Lubomir Bourdev and Hailin Jin.
- in_place_factory, typed_in_place_factory- Generic in-place construction
of contained objects with a variadic argument-list, from Fernando Cacciola.
- operators - Templates
ease arithmetic classes and iterators, from Dave Abrahams
and Jeremy Siek.
- property map
- Concepts defining interfaces which map key objects to
value objects, from Jeremy Siek.
- static_assert
- Static assertions (compile time assertions), from John
Maddock.
- type_traits -
Templates for fundamental properties of types, from John
Maddock, Steve Cleary, et al.
- function_types - Type traits
for callable, built-in types, from Tobias Schwinger
- fusion -
Library for working with tuples, including various containers,
algorithms, etc. From Joel de Guzman, Dan Marsden and Tobias Schwinger.
- mpl - Template metaprogramming
framework of compile-time algorithms, sequences and metafunction classes,
from Aleksey Gurtovoy.
- proto - Expression template library and compiler
construction toolkit for domain-specific embedded languages, from Eric Niebler.
- static_assert
- Static assertions (compile time assertions), from John
Maddock.
- type_traits -
Templates for fundamental properties of types, from John
Maddock, Steve Cleary, et al.
- preprocessor - Preprocessor
metaprogramming tools including repetition and recursion, from Vesa Karvonen
and Paul Mensonides.
- asio - Portable networking and other low-level
I/O, including sockets, timers, hostname resolution, socket iostreams, serial
ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff.
- interprocess - Shared memory, memory mapped files,
process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga
- MPI - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer.
- thread - Portable C++
multi-threading, from William Kempf.
Math and numerics
- accumulators - Framework for incremental
calculation, and collection of statistical accumulators, from Eric Niebler.
- integer - Headers to ease
dealing with integral types.
- interval - Extends the
usual arithmetic functions to mathematical intervals, from Guillaume
Melquiond, Hervé Brönnimann and Sylvain Pion.
- math - Several contributions in the
domain of mathematics, from various authors.
- math/complex number algorithms -
These complex number algorithms are the inverses of trigonometric functions currently present in the C++ standard, from John Maddock.
- math/common_factor - Greatest
common divisor and least common multiple, from Daryle Walker.
- math/octonion -
Octonions, from Hubert Holin.
- math/quaternion -
Quaternions, from Hubert Holin.
- math/special_functions -
A wide selection of mathematical special functions from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang.
- math/statistical distributions -
A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow
- multi_array - Multidimensional
containers and adaptors for arrays of contiguous data, from Ron Garcia.
- numeric/conversion - Optimized Policy-based Numeric Conversions,
from Fernando
- operators - Templates
ease arithmetic classes and iterators, from Dave Abrahams
and Jeremy Siek.
- random - A complete
system for random number generation, from Jens Maurer.
- rational - A rational
number class, from Paul Moore.
- uBLAS - Basic linear algebra
for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.
- concept check
- Tools for generic programming, from Jeremy Siek.
- static_assert
- Static assertions (compile time assertions), from John
Maddock.
- test - Support for simple program testing,
full unit testing, and for program
execution monitoring, from Gennadiy Rozental.
Data structures
- any - Safe, generic container for single
values of different value types, from Kevlin Henney.
- bimap - Bidirectional maps, from Matias Capeletto.
- compressed_pair
- Empty member optimization, from John Maddock, Howard
Hinnant, et al.
- fusion -
Library for working with tuples, including various containers, algorithms, etc.
From Joel de Guzman and Dan Marsden and Tobias Schwinger.
- multi_index - Containers with
multiple STL-compatible access interfaces, from Joaquín M López
Muñoz.
- pointer container
- Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen.
- tuple - Ease definition of functions returning multiple values, and more,
from Jaakko Järvi.
- variant - Safe, generic, stack-based
discriminated union container, from Eric Friedman and Itay Maman.
- gil - Generic Image Library, from
Lubomir Bourdev and Hailin Jin.
- asio - Portable networking and other low-level
I/O, including sockets, timers, hostname resolution, socket iostreams, serial
ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff.
- assign - Filling containers
with constant or generated data has never been
easier, from Thorsten Ottosen.
- format - Type-safe 'printf-like' format
operations, from Samuel Krempp.
- io state savers - Save I/O state to
prevent jumbled data, from Daryle Walker.
- iostreams - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.
- program_options - Access to configuration
data given on command line, in config files and other sources, from Vladimir Prus.
- serialization - Serialization
of arbitrary data for persistence and marshalling, from Robert Ramey
- python - Reflects C++
classes and functions into Python, from Dave
Abrahams.
- pool - Memory pool management, from
Steve Cleary.
- smart_ptr - Five smart
pointer class templates, from Greg Colvin, Beman Dawes,
Peter Dimov, and Darin Adler.
- utility - Class noncopyable
plus checked_delete(), checked_array_delete(), next(),
prior()
function templates, plus base-from-member idiom, from Dave Abrahams and others.
- spirit - LL parser framework
represents parsers directly as EBNF grammars in inlined C++, from Joel de
Guzman, Hartmut Kaiser, Dan Nuffer and team.
- function - Function object wrappers
for deferred calls or callbacks, from Doug Gregor.
- parameter -
Write functions that accept arguments by name, by David Abrahams
and Daniel Wallin.
- base-from-member - Idiom to
initialize a base class with a member, from Daryle Walker.
- compressed_pair
- Empty member optimization, from John Maddock, Howard
Hinnant, et al.
- conversion - Polymorphic and lexical casts, from Dave Abrahams and
Kevlin Henney.
- crc - Cyclic Redundancy Code, from Daryle
Walker.
- date_time - Date-Time library from Jeff Garland.
- exception - A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads (N2179), from Emil Dotchevski.
- filesystem - Portable paths,
iteration over directories, and other useful filesystem operations, from
Beman Dawes.
- flyweight - Design pattern
to manage large quantities of highly redundant objects,
from Joaquín M López Muñoz.
- numeric/conversion - Optimized Policy-based Numeric Conversions,
from Fernando Cacciola.
- optional - Discriminated-union
wrapper for optional values, from Fernando Cacciola.
- program_options - Access to configuration
data given on command line, in config files and other sources, from Vladimir Prus.
- scope_exit
- Execute arbitrary code at scope exit, from Alexander Nasonov.
- statechart - Arbitrarily
complex finite state machines can be implemented in easily readable and
maintainable C++ code, from Andreas Huber.
- swap -
Enhanced generic swap function, from Joseph Gauterin.
- system - Operating
system support, including the diagnostics support that will be part of the
C++0x standard library, from Beman Dawes.
- timer - Event timer,
progress timer, and progress display classes, from Beman
Dawes.
- TR1 - An implementation of the Technical
Report on C++ Library Extensions, using other Boost libraries as a basis, from John Maddock.
- tribool - 3-state boolean type library, from Doug Gregor.
- typeof -
Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt.
- units -
Zero-overhead dimensional analysis and unit/quantity
manipulation and conversion, from Matthias Schabel and Steven Watanabe.
- utility - Class noncopyable
plus checked_delete(), checked_array_delete(), next(),
prior()
function templates, plus base-from-member idiom, from Dave Abrahams and others.
- value_initialized - Wrapper for uniform-syntax value initialization,
from Fernando Cacciola, based on the original idea of David Abrahams.
- compatibility - Help for
non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
Maurer.
- config - Helps boost
library developers adapt to compiler idiosyncrasies; not
intended for library users.
[Category suggestions from Aleksey Gurtovoy and Beman Dawes]
Libraries Retired from Boost
- compose - Functional composition adapters for the STL,
from Nicolai Josuttis. Removed in Boost version 1.32.
Please use Bind or Lambda instead.
Revised
27 Jan 2009
© Copyright Beman Dawes 2000-2004
Distributed under the Boost Software License, Version 1.0.
(See file LICENSE_1_0.txt
or www.boost.org/LICENSE_1_0.txt)