- 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. chrono - Useful time utilities, from Howard Hinnant, Beman Dawes, Vicente J. Botet Escribá. 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. container - Standard library containers and extensions, from Ion Gaztañaga 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/factory - function object templates for dynamic and static object creation, from Tobias Schwinger functional/forward - adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger 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. geometry - Geometry Library, from Barend Gehrels, Bruno Lalande and Mateusz Loskot. graph - Generic graph components and algorithms, from Jeremy Siek and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock. icl - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber. 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. locale - Provide localization and Unicode handling tools for C++, from Artyom Beilis lexical_cast - General literal text conversions, such as an int represented as a string, or vice-versa, from Kevlin Henney. 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. move - Portable move semantics for C++03 and C++1 compilers, from Ion Gaztañaga 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. meta state machine - High-performance expressive UML 2.0 finite state machines, from Christophe Henry. 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. Phoenix - Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden and Thomas Heller pointer container - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. polygon - Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson. 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. property tree - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl. 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 - Concepts and utilities for range-based algorithms, as well as range-based algorithms and range adaptors that allow for efficient and very expressive code, from Thorsten Ottosen and Neil Groves. ratio - Compile time rational arithmetic, from Howard Hinnant, Beman Dawes, Vicente J. Botet Escribá. 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. result_of - determines the type of a function call expression. 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. uuid - A universally unique identifier, from Andy Tompkins. 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. locale - Provide localization and Unicode handling tools for C++, from Artyom Beilis 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. container - Standard library containers and extensions, from Ion Gaztañaga 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; now maintained by Andrew Sutton and Jeremiah Willcock. icl - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber. 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. property tree - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl. 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; now maintained by Andrew Sutton and Jeremiah Willcock. 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. geometry - Geometry Library, from Barend Gehrels, Bruno Lalande and Mateusz Loskot. graph - Generic graph components and algorithms, from Jeremy Siek and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock. 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/factory - function object templates for dynamic and static object creation, from Tobias Schwinger functional/forward - adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger 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. Phoenix - Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden and Thomas Heller 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. geometry - Geometry Library, from Barend Gehrels, Bruno Lalande and Mateusz Loskot. 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. ratio - A compile time ratio arithmetic, from Howard Hinnant, Beman Dawes, Vicente J. Botet Escribá. 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. container - Standard library containers and extensions, from Ion Gaztañaga 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. icl - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber. intrusive - Intrusive containers and algorithms, from Ion Gaztañaga 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 tree - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl. tuple - Ease definition of functions returning multiple values, and more, from Jaakko Järvi. uuid - A universally unique identifier, from Andy Tompkins. 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 - Six 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. chrono - Useful time utilities, from Howard Hinnant, Beman Dawes, Vicente J. Botet Escribá. 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. lexical_cast - General literal text conversions, such as an int represented as a string, or vice-versa, from Kevlin Henney. meta state machine - High-performance expressive UML 2.0 finite state machines, from Christophe Henry. move - Portable move semantics for C++03 and C++1 compilers, from Ion Gaztañaga 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 03 Nov 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)
You are viewing a mobilized version of this site...
View original page here