Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is an old version of boost. Click here for the latest version's documentation home page.
Libraries Listed by Category
c++boost.gif (8819 bytes)HomeLibrariesPeopleFAQMore

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

String and text processing

  • Format - Type-safe 'printf-like' format operations, from Samuel Krempp.
  • 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.
  • 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 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.
  • Variant - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.

Iterators

  • Graph - Generic graph components and algorithms, from Jeremy Siek and University of Notre Dame Team.
  • Iterator Adaptors - Adapt a base type into a standard conforming iterator, 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 University of Notre Dame Team.
  • Utility - Class noncopyable plus checked_delete, checked_array_delete, next, prior function templates, plus base-from-member idiom, from Dave Abrahams and others .

Function objects and higher-order programming

  • Bind - 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 Douglas 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.
  • Mem_fn - Generalized binders for member functions, from Peter Dimov.
  • Ref - A utility library for passing references to generic functions, from Jaakko Järvi, Peter Dimov, Douglas Gregor, and Dave Abrahams.
  • Signals - Managed signals & slots callback implementation, from Douglas Gregor.

Generic programming

  • Call Traits - Defines types for passing parameters, from John Maddock and Howard Hinnant.
  • 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, and others .

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, and others .

Preprocessor metaprogramming

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

Concurrent programming

  • Threads - Portable C++ multi-threading, from William Kempf.

Math and numerics

  • Integer - Headers to ease dealing with integral types, from various authors.
  • 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/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 - 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 and Howard Hinnant.
  • Optional - Discriminated-union wrapper for optional values, from Fernando Cacciola.
  • 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.

Input/Output

  • Format - Type-safe 'printf-like' format operations, from Samuel Krempp.
  • I/O 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 Pointer - 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

  • CRC - Cyclic Redundancy Code, from Daryle Walker.
  • Compressed Pair - Empty member optimization, from John Maddock and Howard Hinnant.
  • Conversion - Numeric, polymorphic, and lexical casts, from Dave Abrahams and Kevlin Henney.
  • 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, from John Maddock, Beman Dawes, and Vesa Karvonen.
Last revised: , at GMT