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

## 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.
- 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.
- 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.
- operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek.
- pool - Memory pool management, from Steve Cleary.
- preprocessor - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen.
- 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.
- 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.
- test - Support for program testing and execution, from Beman Dawes.
- 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.
- 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.
- regex - Regular expression library, from John Maddock
- 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.
- graph - Generic graph components and algorithms, from Jeremy Siek and a University of Notre Dame team.
- 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.

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

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

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

### 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 program testing and execution, from Beman Dawes.

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

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

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

## Beta Libraries

Boost no longer supports beta libraries on the Boost web site. These libraries will soon be either submitted for formal review or removed.

- array_traits - tools to treat built-in arrays more like STL containers from Dietmar Kühl. Also see array.
- dir_it - A set of file system directory level iterators from Dietmar Kühl.
- heaps - a heap of priority queues from Dietmar Kühl.

Revised 09 May 2002