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

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.
  • String Algorithms - A set of generic string-related algorithms and utilities , from Pavol Droba.
  • 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.
  • 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.
  • Program_options - Facilities to obtain configuration data from command line, config files and other sources, from Vladimir Prus.
  • 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.
  • Serialization - Serialization of C++ objects for persistence and marshalling, from Robert Ramey.

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 - A set of facilities to ease programming with dates and times. , 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.
  • Tribool - Three-state boolean type, from Douglas Gregor.
  • 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.

PrevUpHomeNext