| Home | Libraries | People | FAQ | More

# 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:

- PDF [zip] [tar.gz] [tar.bz2]
- Unix man pages [tar.gz] [tar.bz2]

## Libraries Listed Alphabetically

- 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.

### Containers

- 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.

### Iterators

- 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.

### Algorithms

- 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.

### Function objects and higher-order programming

- 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.

### Generic Programming

- 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.

### Template Metaprogramming

- 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 Metaprogramming

- preprocessor - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides.

### Concurrent Programming

- 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.

### Correctness and testing

- 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.

### Input/Output

- format - Type-safe 'printf-like' format operations, from Samuel Krempp.
- io state savers - Save I/O state to prevent jumbled data, from Daryle Walker.

### Inter-language support

- python - Reflects C++ classes and functions into Python, from Dave Abrahams.

### Memory

- 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.

### Parsing

- spirit - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman and team.

### Miscellaneous

- 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.

### Broken compiler workarounds

- 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]

## Obsolete Libraries

- min_rand - a random number generator class from Beman Dawes. Replaced by random.

Revised 04 Feb 2003