Boost Libraries
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
Input/Output
Inter-language support
Memory
Parsing
Miscellaneous
Broken compiler workarounds
Obsolete Libraries
Beta Libraries
See Compiler Status
page to find out what library works with which compiler.
See Header Dependencies page to find
out what other headers each boost header includes.
See Download and Installation page to find out
how to download and install the libraries.
See Building Boost Libraries page to find
out how to build object libraries, when needed.
Documentation for some Boost libraries is available in alternative formats:
- 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.
- 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.
- compatibility - Help for
non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
Maurer.
- compose - Functional
composition adapters for the STL, from Nicolai Josuttis.
- 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 - Numeric,
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.
- filesystem - Portable paths,
iteration over directories, and other useful filesystem operations, from
Beman Dawes.
- format - Type-safe 'printf-like' format
operations, from Samuel Krempp.
- function - Function object wrappers
for deferred calls or callbacks, from Doug Gregor.
- functional - Enhanced
function object adaptors, from Mark Rodgers.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- 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.
- io state savers - Save I/O state to
prevent jumbled data, from Daryle Walker.
- iterator adaptors
- Adapt a base type into a standard conforming iterator,
and more, from Dave Abrahams, Jeremy Siek, and John
Potter.
- 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/common_factor - Greatest
common divisor and least common multiple, from Daryle Walker.
- math/octonion -
Octonions, from Hubert Holin.
- math/quaterion -
Quaterions, from Hubert Holin.
- math/special_functions -
Mathematical special functions such as atanh, sinc, and sinhc,
from Hubert Holin.
- 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.
- operators - Templates
ease arithmetic classes and iterators, from Dave Abrahams
and Jeremy Siek.
- optional - Discriminated-union
wrapper for optional values, from Fernando Cacciola.
- pool - Memory pool management, from
Steve Cleary.
- preprocessor - Preprocessor
metaprogramming tools including repetition and recursion, from Vesa Karvonen
and Paul Mensonides.
- property map
- Concepts defining interfaces which map key objects to
value objects, from Jeremy Siek.
- python - Reflects C++
classes and functions into Python, from Dave
Abrahams.
- random - A complete
system for random number generation, from Jens Maurer.
- 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.
- signals - managed signals &
slots callback implementation, from Doug Gregor.
- smart_ptr - Five smart
pointer class templates, from Greg Colvin, Beman Dawes,
Peter Dimov, and Darin Adler.
- 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 and team.
- 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.
- 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.
- 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.
- uBLAS - Basic linear algebra
for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.
- utility - Class noncopyable
plus checked_delete(), checked_array_delete(), next(),
prior()
function templates, plus base-from-member idiom, from Dave Abrahams and others.
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.
- regex - Regular expression
library, from John Maddock
- spirit - LL parser framework
represents parsers directly as EBNF grammars in inlined C++, from Joel de
Guzman and team.
- tokenizer - Break of a string or other
character sequence into a series of tokens, from John Bandela.
- array - STL compliant
container wrapper for arrays of constant size, from
Nicolai Josuttis.
- dynamic_bitset - A runtime sized version of std::bitset from Jeremy Siek and Chuck Allison.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- multi_array - Multidimensional
containers and adaptors for arrays of contiguous data, from Ron Garcia.
- property map
- Concepts defining interfaces which map key objects to
value objects, from Jeremy Siek.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- iterator adaptors
- Adapt a base type into a standard conforming iterator,
and more, from Dave Abrahams, Jeremy Siek, and John
Potter.
- 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.
- graph -
Generic graph components and algorithms, from Jeremy Siek
and a University of Notre Dame team.
- 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.
- compose - Functional
composition adapters for the STL, from Nicolai Josuttis.
- function - Function object wrappers
for deferred calls or callbacks, from Doug Gregor.
- functional - Enhanced
function object adaptors, from Mark Rodgers.
- 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.
- call_traits -
Defines types for passing parameters, from John Maddock,
Howard Hinnant, et al.
- concept check
- Tools for generic programming, from Jeremy Siek.
- 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.
- mpl - Template metaprogramming
framework of compile-time algorithms, sequences and metafunction classes,
from Aleksey Gurtovoy.
- 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.
- thread - Portable C++
multi-threading, from William Kempf.
Math and numerics
- math - Several contributions in the
domain of mathematics, from various authors.
- conversion/numeric_cast - numeric_cast
class template, from Kevlin Henney.
- 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/common_factor - Greatest
common divisor and least common multiple, from Daryle Walker.
- math/octonion -
Octonions, from Hubert Holin.
- math/quaterion -
Quaterions, from Hubert Holin.
- math/special_functions -
Mathematical special functions such as atanh, sinc, and sinhc,
from Hubert Holin.
- multi_array - Multidimensional
containers and adaptors for arrays of contiguous data, from Ron Garcia.
- 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.
- compressed_pair
- Empty member optimization, from John Maddock, Howard
Hinnant, et al.
- tuple - Ease definition of functions returning multiple values, and more,
from Jaakko Järvi.
- format - Type-safe 'printf-like' format
operations, from Samuel Krempp.
- io state savers - Save I/O state to
prevent jumbled data, from Daryle Walker.
- 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 and team.
- 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 - Numeric,
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.
- filesystem - Portable paths,
iteration over directories, and other useful filesystem operations, from
Beman Dawes.
- optional - Discriminated-union
wrapper for optional values, from Fernando Cacciola.
- timer - Event timer,
progress timer, and progress display classes, from Beman
Dawes.
- utility - Class noncopyable
plus checked_delete(), checked_array_delete(), next(),
prior()
function templates, plus base-from-member idiom, from Dave Abrahams and others.
- 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]
- min_rand - a random
number generator class from Beman Dawes. Replaced by random.
Revised
04 Feb 2003