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

Boost C++ Libraries

Any

Safe, generic container for single values of different value types.

Author(s)
Kevlin Henney
First Release
1.23.0
Standard
 
Build & Link
Header only
Array

STL compliant container wrapper for arrays of constant size.

Author(s)
Nicolai Josuttis
First Release
1.17.0
Standard
 
Build & Link
Header only
Bind

boost::bind is a generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions.

Author(s)
Peter Dimov
First Release
1.25.0
Standard
 
Build & Link
Header only
CRC

The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based.

Author(s)
Daryle Walker
First Release
1.22.0
Standard
 
Build & Link
Header only
Call Traits

Defines types for passing parameters.

Author(s)
John Maddock, Howard Hinnant, et al
First Release
1.13.0
Standard
 
Build & Link
Header only
Compatibility

Help for non-conforming standard libraries.

Author(s)
Ralf Grosse-Kunstleve and Jens Maurer
First Release
1.21.2
Standard
 
Build & Link
Header only
Compressed Pair

Empty member optimization.

Author(s)
John Maddock, Howard Hinnant, et al
First Release
1.13.0
Standard
 
Build & Link
Header only
Concept Check

Tools for generic programming.

Author(s)
Jeremy Siek
First Release
1.19.0
Standard
 
Build & Link
Header only
Config

Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.

Author(s)
 
First Release
1.9.0
Standard
 
Build & Link
Header only
Conversion

Polymorphic and lexical casts.

Author(s)
Dave Abrahams and Kevlin Henney
First Release
1.20.0
Standard
 
Build & Link
Header only
Date Time

A set of date-time libraries based on generic programming concepts.

Author(s)
Jeff Garland
First Release
1.29.0
Standard
 
Build & Link
Header only
Disjoint Sets

Boost.DisjointSets provides disjoint sets operations with union by rank and path compression.

Author(s)
Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine
First Release
1.9.0
Standard
 
Build & Link
Header only
Dynamic Bitset

The dynamic_bitset class represents a set of bits. It provides accesses to the value of individual bits via an operator[] and provides all of the bitwise operators that one can apply to builtin integers, such as operator& and operator<<. The number of bits in the set is specified at runtime via a parameter to the constructor of the dynamic_bitset.

Author(s)
Jeremy Siek and Chuck Allison
First Release
1.29.0
Standard
 
Build & Link
Header only
Enable If

Selective inclusion of function template overloads.

Author(s)
Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine
First Release
1.31.0
Standard
 
Build & Link
Header only
Filesystem

The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories.

Author(s)
Beman Dawes
First Release
1.30.0
Standard
 
Build & Link
Header only
Format

The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%.

Author(s)
Samuel Krempp
First Release
1.29.0
Standard
 
Build & Link
Header only
Function

Function object wrappers for deferred calls or callbacks.

Author(s)
Doug Gregor
First Release
1.23.0
Standard
 
Build & Link
Header only
Functional

The Boost.Function library contains a family of class templates that are function object wrappers.

Author(s)
Mark Rodgers
First Release
1.16.0
Standard
 
Build & Link
Header only
Graph

The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL).

Author(s)
Jeremy Siek and a University of Notre Dame team
First Release
1.18.0
Standard
 
Build & Link
 
IO State Savers

The I/O sub-library of Boost helps segregate the large number of Boost headers. This sub-library should contain various items to use with/for the standard I/O library.

Author(s)
Daryle Walker
First Release
1.28.0
Standard
 
Build & Link
Header only
In Place Factory, Typed In Place Factory

Generic in-place construction of contained objects with a variadic argument-list.

Author(s)
Fernando Cacciola
First Release
1.9.0
Standard
 
Build & Link
Header only
Integer

The organization of boost integer headers and classes is designed to take advantage of <stdint.h> types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header <boost/cstdint.hpp> makes the standard integer types safely available in namespace boost without placing any names in namespace std.

Author(s)
 
First Release
1.9.0
Standard
 
Build & Link
Header only
Interval

Extends the usual arithmetic functions to mathematical intervals.

Author(s)
Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion
First Release
1.30.0
Standard
 
Build & Link
Header only
Iterators

The Boost Iterator Library contains two parts. The first is a system of concepts which extend the C++ standard iterator requirements. The second is a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors.

Author(s)
Dave Abrahams, Jeremy Siek, and Thomas Witt
First Release
1.21.0
Standard
 
Build & Link
Header only
Lambda

Define small unnamed function objects at the actual call site, and more.

Author(s)
Jaakko Järvi and Gary Powell
First Release
1.28.0
Standard
 
Build & Link
Header only
MPL

The Boost.MPL library is a general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language.

Author(s)
Aleksey Gurtovoy
First Release
1.30.0
Standard
 
Build & Link
Header only
Math

Boost.Math includes several contributions in the domain of mathematics: The Greatest Common Divisor and Least Common Multiple library provides run-time and compile-time evaluation of the greatest common divisor (GCD) or least common multiple (LCM) of two integers. The Special Functions library currently provides eight templated special functions, in namespace boost. The Complex Number Inverse Trigonometric Functions are the inverses of trigonometric functions currently present in the C++ standard. Quaternions are a relative of complex numbers often used to parameterise rotations in three dimentional space. Octonions, like quaternions, are a relative of complex numbers.

Author(s)
various
First Release
1.23.0
Standard
 
Build & Link
Header only
Math Common Factor

Greatest common divisor and least common multiple.

Author(s)
Daryle Walker
First Release
1.26.0
Standard
 
Build & Link
Header only
Math Octonion

Octonions.

Author(s)
Hubert Holin
First Release
1.23.0
Standard
 
Build & Link
Header only
Math Quaternion

Quaternions.

Author(s)
Hubert Holin
First Release
1.23.0
Standard
 
Build & Link
Header only
Member Function

Generalized binders for function/object/pointers and member functions.

Author(s)
Peter Dimov
First Release
1.25.0
Standard
 
Build & Link
Header only
Multi-Array

Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface.

Author(s)
Ron Garcia
First Release
1.29.0
Standard
 
Build & Link
Header only
Operators

Templates ease arithmetic classes and iterators.

Author(s)
Dave Abrahams and Jeremy Siek
First Release
1.9.0
Standard
 
Build & Link
Header only
Optional

Discriminated-union wrapper for optional values.

Author(s)
Fernando Cacciola
First Release
1.30.0
Standard
 
Build & Link
Header only
Pool

Memory pool management.

Author(s)
Steve Cleary
First Release
1.21.0
Standard
 
Build & Link
Header only
Preprocessor

Preprocessor metaprogramming tools including repetition and recursion.

Author(s)
Vesa Karvonen and Paul Mensonides
First Release
1.26.0
Standard
 
Build & Link
Header only
Property Map

Concepts defining interfaces which map key objects to value objects.

Author(s)
Jeremy Siek
First Release
1.19.0
Standard
 
Build & Link
Header only
Python

The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler.

Author(s)
Dave Abrahams
First Release
1.19.0
Standard
 
Build & Link
Header only
Random

A complete system for random number generation.

Author(s)
Jens Maurer
First Release
1.15.0
Standard
 
Build & Link
Header only
Rational

A rational number class.

Author(s)
Paul Moore
First Release
1.11.0
Standard
 
Build & Link
Header only
Ref

A utility library for passing references to generic functions.

Author(s)
Jaako Järvi, Peter Dimov, Doug Gregor, and Dave Abrahams
First Release
1.25.0
Standard
 
Build & Link
Header only
Regex

Regular expression library.

Author(s)
John Maddock
First Release
1.18.0
Standard
 
Build & Link
 
Signals

Managed signals & slots callback implementation.

Author(s)
Doug Gregor
First Release
1.29.0
Standard
 
Build & Link
 
Smart Ptr

Five smart pointer class templates.

Author(s)
Greg Colvin, Beman Dawes, Peter Dimov, and Darin Adler
First Release
1.23.0
Standard
 
Build & Link
Header only
Spirit

LL parser framework represents parsers directly as EBNF grammars in inlined C++.

Author(s)
Joel de Guzman, Hartmut Kaiser, and Dan Nuffer
First Release
1.30.0
Standard
 
Build & Link
Header only
Static Assert

Static assertions (compile time assertions).

Author(s)
John Maddock
First Release
1.19.0
Standard
 
Build & Link
Header only
Test

Support for simple program testing, full unit testing, and for program execution monitoring.

Author(s)
Gennadiy Rozental
First Release
1.21.0
Standard
 
Build & Link
Header only
Thread

Portable C++ multi-threading.

Author(s)
Anthony Williams (originally William Kempf)
First Release
1.25.0
Standard
Proposed
Build & Link
Automatic linking
Timer

Event timer, progress timer, and progress display classes.

Author(s)
Beman Dawes
First Release
1.9.0
Standard
 
Build & Link
Header only
Tokenizer

Break of a string or other character sequence into a series of tokens.

Author(s)
John Bandela
First Release
1.23.0
Standard
 
Build & Link
Header only
Tuple

Ease definition of functions returning multiple values, and more.

Author(s)
Jaakko Järvi
First Release
1.24.0
Standard
 
Build & Link
Header only
Type Traits

Templates for fundamental properties of types.

Author(s)
John Maddock, Steve Cleary, et al
First Release
1.13.0
Standard
 
Build & Link
Header only
Utility

Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.

Author(s)
Dave Abrahams and others
First Release
1.13.0
Standard
 
Build & Link
Header only
Value Initialized

Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams.

Author(s)
Fernando Cacciola
First Release
1.9.0
Standard
 
Build & Link
Header only
Variant

Safe, generic, stack-based discriminated union container.

Author(s)
Eric Friedman and Itay Maman
First Release
1.31.0
Standard
 
Build & Link
Header only
uBLAS

uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported.

Author(s)
Joerg Walter and Mathias Koch
First Release
1.29.0
Standard
 
Build & Link
Header only