Boost Library Documentation (original) (raw)

Accumulators

Framework for incremental calculation, and collection of statistical accumulators.

Author(s)

Eric Niebler

First Release

1.36.0

C++ Standard Minimum Level

03

Categories

Math and numerics

Algorithm

A collection of useful generic algorithms.

Author(s)

Marshall Clow

First Release

1.50.0

C++ Standard Minimum Level

03

Categories

Algorithms

Align

Memory alignment functions, allocators, traits.

Author(s)

Glen Fernandes

First Release

1.56.0

C++ Standard Minimum Level

03

Categories

Memory

Any

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

Author(s)

Kevlin Henney

First Release

1.23.0

C++ Standard Minimum Level

11

Categories

Data structures

Array

STL compliant container wrapper for arrays of constant size.

Author(s)

Nicolai Josuttis

First Release

1.17.0

C++ Standard Minimum Level

03

Categories

Containers

Asio

Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs.

Author(s)

Chris Kohlhoff

First Release

1.35.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming, Input/Output

Assert

Customizable assert macros.

Author(s)

Peter Dimov

First Release

1.27.0

C++ Standard Minimum Level

03

Categories

Correctness and testing, Error handling and recovery

Assign

Filling containers with constant or generated data has never been easier.

Author(s)

Thorsten Ottosen

First Release

1.32.0

C++ Standard Minimum Level

11

Categories

Input/Output

Atomic

C++11-style atomic types.

Author(s)

Helge Bahmann, Tim Blechmann and Andrey Semashev

First Release

1.53.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming

Beast

Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio

Author(s)

Vinnie Falco

First Release

1.66.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming, Input/Output

Bimap

Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key.

Author(s)

Matias Capeletto

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Containers, Data structures

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

C++ Standard Minimum Level

11

Categories

Function objects and higher-order programming

Call Traits

Defines types for passing parameters.

Author(s)

John Maddock, Howard Hinnant, et al

First Release

1.13.0

C++ Standard Minimum Level

03

Categories

Generic Programming

CallableTraits

A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only C++11 library for the compile-time inspection and manipulation of all 'callable' types. Additional support for C++17 features.

Author(s)

Barrett Adair

First Release

1.66.0

C++ Standard Minimum Level

11

Categories

Template Metaprogramming

CharConv

An implementation of in C++11.

Author(s)

Matt Borland

First Release

1.85.0

C++ Standard Minimum Level

11

Categories

Miscellaneous, String and text processing

Chrono

Useful time utilities. C++11.

Author(s)

Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba

First Release

1.47.0

C++ Standard Minimum Level

11

Categories

Domain Specific, System

Circular Buffer

A STL compliant container also known as ring or cyclic buffer.

Author(s)

Jan Gaspar

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Containers

Cobalt

Coroutines. Basic Algorithms & Types

Author(s)

Klemens Morgenstern

First Release

1.84.0

C++ Standard Minimum Level

20

Categories

Concurrent Programming

Compat

C++11 implementations of standard components added in later C++ standards.

Author(s)

Peter Dimov and Christian Mazakas

First Release

1.83.0

C++ Standard Minimum Level

11

Categories

Language Features Emulation, Programming Interfaces

Compatibility

Help for non-conforming standard libraries.

Author(s)

Ralf Grosse-Kunstleve and Jens Maurer

First Release

1.21.2

Categories

Broken compiler workarounds

Compressed Pair

A pair class with empty member optimization.

Author(s)

John Maddock, Howard Hinnant, et al

First Release

1.13.0

C++ Standard Minimum Level

03

Categories

Data structures, Patterns and Idioms

Compute

Parallel/GPU-computing library

Author(s)

Kyle Lutz

First Release

1.61.0

Categories

Concurrent Programming

Concept Check

Tools for generic programming.

Author(s)

Jeremy Siek

First Release

1.19.0

C++ Standard Minimum Level

03

Categories

Correctness and testing, Generic Programming

Config

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

Author(s)

First Release

1.9.0

C++ Standard Minimum Level

03

Categories

Broken compiler workarounds

Container

Standard library containers and extensions.

Author(s)

Ion Gaztañaga

First Release

1.48.0

C++ Standard Minimum Level

03

Categories

Containers, Data structures

Container Hash

An STL-compatible hash function object that can be extended to hash user defined types.

Author(s)

Daniel James

First Release

1.33.0

Categories

Function objects and higher-order programming

Container Hash

An STL-compatible hash function object that can be extended to hash user defined types.

Author(s)

Daniel James

First Release

1.33.0

C++ Standard Minimum Level

11

Categories

Function objects and higher-order programming

Context

(C++11) Context switching library.

Author(s)

Oliver Kowalke

First Release

1.51.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming, System

Contract

Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc.

Author(s)

Lorenzo Caminiti

First Release

1.67.0

Categories

Correctness and testing

Conversion

Polymorphic casts.

Author(s)

Dave Abrahams and Kevlin Henney

First Release

1.20.0

C++ Standard Minimum Level

11

Categories

Miscellaneous

Convert

An extendible and configurable type-conversion framework.

Author(s)

Vladimir Batov

First Release

1.59.0

C++ Standard Minimum Level

11

Categories

Miscellaneous, String and text processing

Core

A collection of simple core utilities with minimal dependencies.

Author(s)

Peter Dimov, Glen Fernandes and Andrey Semashev

First Release

1.56.0

C++ Standard Minimum Level

03

Categories

Miscellaneous

Coroutine (deprecated)

Coroutine library.

Author(s)

Oliver Kowalke

First Release

1.53.0

Categories

Concurrent Programming

Coroutine2

(C++11) Coroutine library.

Author(s)

Oliver Kowalke

First Release

1.59.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming

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

C++ Standard Minimum Level

11

Categories

Domain Specific

Date Time

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

Author(s)

Jeff Garland

First Release

1.29.0

C++ Standard Minimum Level

03

Categories

Domain Specific, System

Describe

A C++14 reflection library.

Author(s)

Peter Dimov

First Release

1.77.0

Categories

Language Features Emulation, Template Metaprogramming

DLL

Library for comfortable work with DLL and DSO.

Author(s)

Antony Polukhin and Renato Tegon Forti

First Release

1.61.0

C++ Standard Minimum Level

11

Categories

System

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

C++ Standard Minimum Level

11

Categories

Containers

Enable If

Selective inclusion of function template overloads.

Author(s)

Jaakko Järvi, Jeremiah Willcock and Andrew Lumsdaine

First Release

1.31.0

C++ Standard Minimum Level

03

Categories

Generic Programming

Endian

Types and conversion functions for correct byte ordering and more regardless of processor endianness.

Author(s)

Beman Dawes

First Release

1.58.0

C++ Standard Minimum Level

11

Categories

Input/Output, Math and numerics, Miscellaneous

Exception

The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads.

Author(s)

Emil Dotchevski

First Release

1.36.0

C++ Standard Minimum Level

03

Categories

Language Features Emulation, Error handling and recovery

Fiber

(C++11) Userland threads library.

Author(s)

Oliver Kowalke

First Release

1.62.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming, System

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

C++ Standard Minimum Level

11

Categories

System

Flyweight

Design pattern to manage large quantities of highly redundant objects.

Author(s)

Joaquín M López Muñoz

First Release

1.38.0

C++ Standard Minimum Level

03

Categories

Patterns and Idioms

Foreach

In C++, writing a loop that iterates over a sequence is tedious. We can either use iterators, which requires a considerable amount of boiler-plate, or we can use the std::for_each() algorithm and move our loop body into a predicate, which requires no less boiler-plate and forces us to move our logic far from where it will be used. In contrast, some other languages, like Perl, provide a dedicated "foreach" construct that automates this process. BOOST_FOREACH is just such a construct for C++. It iterates over sequences for us, freeing us from having to deal directly with iterators or write predicates.

Author(s)

Eric Niebler

First Release

1.34.0

Categories

Algorithms, Language Features Emulation

Format

The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string.

Author(s)

Samuel Krempp

First Release

1.29.0

C++ Standard Minimum Level

11

Categories

Input/Output, String and text processing

Function

Function object wrappers for deferred calls or callbacks.

Author(s)

Doug Gregor

First Release

1.23.0

C++ Standard Minimum Level

11

Categories

Function objects and higher-order programming, Programming Interfaces

Function Types

Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.

Author(s)

Tobias Schwinger

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Generic Programming, Template Metaprogramming

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

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Functional/Factory

Function object templates for dynamic and static object creation

Author(s)

Glen Fernandes and Tobias Schwinger

First Release

1.43.0

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Functional/Forward

Adapters to allow generic function objects to accept arbitrary arguments

Author(s)

Tobias Schwinger

First Release

1.43.0

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Functional/Overloaded Function

Overload different functions into a single function object.

Author(s)

Lorenzo Caminiti

First Release

1.50.0

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Fusion

Library for working with tuples, including various containers, algorithms, etc.

Author(s)

Joel de Guzman, Dan Marsden and Tobias Schwinger

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Data structures, Template Metaprogramming

Geometry

The Boost.Geometry library provides geometric algorithms, primitives and spatial index.

Author(s)

Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Menelaos Karavelas and Vissarion Fisikopoulos

First Release

1.47.0

C++ Standard Minimum Level

14

Categories

Algorithms, Data structures, Math and numerics

GIL

(C++14) Generic Image Library

Author(s)

Lubomir Bourdev, Hailin Jin and Christian Henning

First Release

1.35.0

C++ Standard Minimum Level

14

Categories

Algorithms, Containers, Generic Programming, Image processing, Iterators

Graph

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

Author(s)

Jeremy Siek and a University of Notre Dame team.

First Release

1.18.0

C++ Standard Minimum Level

14

Categories

Algorithms, Containers, Iterators

GraphParallel

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

Author(s)

Jeremy Siek, Doug Gregor, and a University of Notre Dame team.

First Release

1.40.0

C++ Standard Minimum Level

03

Categories

Algorithms, Containers, Iterators

Hana

A modern C++ metaprogramming library. It provides high level algorithms to manipulate heterogeneous sequences, allows writing type-level computations with a natural syntax, provides tools to introspect user-defined types and much more.

Author(s)

Louis Dionne

First Release

1.61.0

C++ Standard Minimum Level

14

Categories

Template Metaprogramming

Hash2

An extensible hashing framework.

Author(s)

Peter Dimov and Christian Mazakas

First Release

1.88.0

C++ Standard Minimum Level

11

Categories

Function objects and higher-order programming

Heap

Priority queue data structures.

Author(s)

Tim Blechmann

First Release

1.49.0

C++ Standard Minimum Level

14

Categories

Data structures

Histogram

Fast multi-dimensional histogram with convenient interface for C++14

Author(s)

Hans Dembinski

First Release

1.70.0

C++ Standard Minimum Level

14

Categories

Algorithms, Data structures, Math and numerics

HOF

Higher-order functions for C++

Author(s)

Paul Fultz II

First Release

1.67.0

C++ Standard Minimum Level

11

Categories

Function objects and higher-order programming, Template Metaprogramming

ICL

Interval Container Library, interval sets and maps and aggregation of associated values

Author(s)

Joachim Faulhaber

First Release

1.46.0

C++ Standard Minimum Level

03

Categories

Containers, Data structures

Identity Type

Wrap types within round parenthesis so they can always be passed as macro parameters.

Author(s)

Lorenzo Caminiti

First Release

1.50.0

C++ Standard Minimum Level

03

Categories

Preprocessor Metaprogramming

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

C++ Standard Minimum Level

03

Categories

Generic Programming

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

C++ Standard Minimum Level

03

Categories

Math and numerics

Interprocess

Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators.

Author(s)

Ion Gaztañaga

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Concurrent Programming

Interval

Extends the usual arithmetic functions to mathematical intervals.

Author(s)

Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion

First Release

1.30.0

C++ Standard Minimum Level

03

Categories

Math and numerics

Intrusive

Intrusive containers and algorithms.

Author(s)

Ion Gaztañaga

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Containers

IO

Utilities for the standard I/O library.

Author(s)

Daryle Walker, Beman Dawes and Glen Fernandes

First Release

1.28.0

C++ Standard Minimum Level

03

Categories

Input/Output

Iostreams

Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters.

Author(s)

Jonathan Turkanis

First Release

1.33.0

C++ Standard Minimum Level

03

Categories

Input/Output, String and text processing

Iterator

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

C++ Standard Minimum Level

03

Categories

Iterators

JSON

JSON parsing, serialization, and DOM in C++11

Author(s)

Vinnie Falco and Krystian Stasiowski

First Release

1.75.0

C++ Standard Minimum Level

11

Categories

Containers, Data structures, Input/Output

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

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Lambda2

A C++14 lambda library.

Author(s)

Peter Dimov

First Release

1.77.0

C++ Standard Minimum Level

14

Categories

Function objects and higher-order programming

LEAF

A lightweight error handling library for C++11.

Author(s)

Emil Dotchevski

First Release

1.75.0

C++ Standard Minimum Level

11

Categories

Error handling and recovery

Lexical Cast

General literal text conversions, such as an int represented a string, or vice-versa.

Author(s)

Kevlin Henney

First Release

1.20.0

C++ Standard Minimum Level

11

Categories

Miscellaneous, String and text processing

Local Function

Program functions locally, within other functions, directly within the scope where they are needed.

Author(s)

Lorenzo Caminiti

First Release

1.50.0

Categories

Function objects and higher-order programming

Locale

Provide localization and Unicode handling tools for C++.

Author(s)

Artyom Beilis

First Release

1.48.0

C++ Standard Minimum Level

11

Categories

String and text processing

Lockfree

Lockfree data structures.

Author(s)

Tim Blechmann

First Release

1.53.0

C++ Standard Minimum Level

14

Categories

Concurrent Programming

Log

Logging library.

Author(s)

Andrey Semashev

First Release

1.54.0

C++ Standard Minimum Level

11

Categories

Miscellaneous

Math

Boost.Math includes several contributions in the domain of mathematics: Floating Point Utilities, Specific Width Floating Point Types, Mathematical Constants, Statistical Distributions, Special Functions, Root Finding and Function Minimization, Polynomials and Rational Functions, Interpolation, and Numerical Integration and Differentiation. Many of these features are templated to support both built-in, and extended width types (e.g. Boost.Multiprecision)

Author(s)

various

First Release

1.23.0

C++ Standard Minimum Level

14

Categories

Math and numerics

Math Common Factor

Greatest common divisor and least common multiple.

Author(s)

Daryle Walker

First Release

1.26.0

C++ Standard Minimum Level

14

Categories

Math and numerics

Math Octonion

Octonions.

Author(s)

Hubert Holin

First Release

1.23.0

C++ Standard Minimum Level

14

Categories

Math and numerics

Math Quaternion

Quaternions.

Author(s)

Hubert Holin

First Release

1.23.0

C++ Standard Minimum Level

14

Categories

Math and numerics

Math/Special Functions

A wide selection of mathematical special functions.

Author(s)

John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang

First Release

1.35.0

C++ Standard Minimum Level

14

Categories

Math and numerics

Math/Statistical Distributions

A wide selection of univariate statistical distributions and functions that operate on them.

Author(s)

John Maddock and Paul Bristow

First Release

1.35.0

C++ Standard Minimum Level

14

Categories

Math and numerics

Member Function

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

Author(s)

Peter Dimov

First Release

1.25.0

C++ Standard Minimum Level

11

Categories

Function objects and higher-order programming

Meta State Machine

A very high-performance library for expressive UML2 finite state machines.

Author(s)

Christophe Henry

First Release

1.44.0

C++ Standard Minimum Level

03

Categories

State Machines

Metaparse

A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process

Author(s)

Abel Sinkovics

First Release

1.61.0

C++ Standard Minimum Level

03

Categories

Template Metaprogramming

Min-Max

Standard library extensions for simultaneous min/max and min/max element computations.

Author(s)

Hervé Brönnimann

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Algorithms

Move

Portable move semantics for C++03 and C++11 compilers.

Author(s)

Ion Gaztañaga

First Release

1.48.0

C++ Standard Minimum Level

03

Categories

Language Features Emulation

Mp11

A C++11 metaprogramming library.

Author(s)

Peter Dimov

First Release

1.66.0

C++ Standard Minimum Level

11

Categories

Template Metaprogramming

MPI

Message Passing Interface library, for use in distributed-memory parallel application programming.

Author(s)

Douglas Gregor and Matthias Troyer

First Release

1.35.0

C++ Standard Minimum Level

03

Categories

Concurrent Programming

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

C++ Standard Minimum Level

03

Categories

Template Metaprogramming

MQTT5

MQTT5 client library built on top of Boost.Asio.

Author(s)

Ivica Siladić, Bruno Iljazović and Korina Šimičević

First Release

1.88.0

C++ Standard Minimum Level

17

Categories

Concurrent Programming, Input/Output

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

C++ Standard Minimum Level

03

Categories

Containers, Math and numerics

Multi-Index

The Boost Multi-index Containers Library provides a class template named multi_index_container which enables the construction of containers maintaining one or more indices with different sorting and access semantics.

Author(s)

Joaquín M López Muñoz

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Containers, Data structures

Multiprecision

Extended precision arithmetic types for floating point, integer, and rational arithmetic.

Author(s)

John Maddock and Christopher Kormanyos

First Release

1.53.0

C++ Standard Minimum Level

14

Categories

Math and numerics

MySQL

MySQL client library built on top of Boost.Asio.

Author(s)

Rubén Pérez

First Release

1.82.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming, Input/Output

Nowide

Standard library functions with UTF-8 API on Windows.

Author(s)

Artyom Beilis

First Release

1.73.0

C++ Standard Minimum Level

11

Categories

System

Numeric Conversion

Optimized Policy-based Numeric Conversions.

Author(s)

Fernando Cacciola

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Math and numerics, Miscellaneous

Odeint

Solving ordinary differential equations.

Author(s)

Karsten Ahnert and Mario Mulansky

First Release

1.53.0

C++ Standard Minimum Level

11

Categories

Math and numerics

Operators

Templates to simplify operator definition in arithmetic classes and iterators.

Author(s)

Dave Abrahams and Jeremy Siek

First Release

1.9.0

C++ Standard Minimum Level

03

Categories

Generic Programming, Iterators, Math and numerics

Optional

A value-semantic, type-safe wrapper for representing 'optional' (or 'nullable') objects of a given type. An optional object may or may not contain a value of the underlying type.

Author(s)

Fernando Cacciola

First Release

1.30.0

C++ Standard Minimum Level

11

Categories

Data structures

Outcome

A deterministic failure handling library partially simulating lightweight exceptions.

Author(s)

Niall Douglas

First Release

1.70.0

C++ Standard Minimum Level

14

Categories

Language Features Emulation, Patterns and Idioms, Programming Interfaces

Parameter

Boost.Parameter Library - Write functions that accept arguments by name.

Author(s)

David Abrahams and Daniel Wallin

First Release

1.33.0

C++ Standard Minimum Level

03

Categories

Language Features Emulation, Programming Interfaces

Parameter Python Bindings

Boost.Parameter Library Python bindings.

Author(s)

David Abrahams and Daniel Wallin

First Release

1.69.0

C++ Standard Minimum Level

03

Categories

Language Features Emulation, Programming Interfaces

Parser

A parser combinator library.

Author(s)

T. Zachary Laine

First Release

1.87.0

Categories

Parsing

PFR

Basic reflection for user defined types.

Author(s)

Antony Polukhin

First Release

1.75.0

C++ Standard Minimum Level

14

Categories

Data structures, Template Metaprogramming

Phoenix

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

Author(s)

Joel de Guzman, Dan Marsden, Thomas Heller and John Fletcher

First Release

1.47.0

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Pointer Container

Containers for storing heap-allocated polymorphic objects to ease OO-programming.

Author(s)

Thorsten Ottosen

First Release

1.33.0

C++ Standard Minimum Level

11

Categories

Containers, Data structures

PolyCollection

Fast containers of polymorphic objects.

Author(s)

Joaquín M López Muñoz

First Release

1.65.0

C++ Standard Minimum Level

11

Categories

Containers

Polygon

Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.

Author(s)

Lucanus Simonson and Andrii Sydorchuk

First Release

1.44.0

Categories

Algorithms, Data structures, Math and numerics

Pool

Memory pool management.

Author(s)

Steve Cleary

First Release

1.21.0

C++ Standard Minimum Level

03

Categories

Memory

Predef

This library defines a set of compiler, architecture, operating system, library, and other version numbers from the information it can gather of C, C++, Objective C, and Objective C++ predefined macros or those defined in generally available headers.

Author(s)

René Ferdinand Rivera Morell

First Release

1.55.0

C++ Standard Minimum Level

98

Categories

Miscellaneous

Preprocessor

Preprocessor metaprogramming tools including repetition and recursion.

Author(s)

Vesa Karvonen and Paul Mensonides

First Release

1.26.0

C++ Standard Minimum Level

03

Categories

Preprocessor Metaprogramming

Process

Library to create processes in a portable way.

Author(s)

Merino Vidal, Ilya Sokolov, Felipe Tanus, Jeff Flinn, Thomas Jarosch, Boris Schaeling and Klemens D. Morgenstern

First Release

1.64.0

C++ Standard Minimum Level

11

Categories

System

Program Options

The program_options library allows program developers to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file.

Author(s)

Vladimir Prus

First Release

1.32.0

C++ Standard Minimum Level

11

Categories

Input/Output, Miscellaneous

Property Map

Concepts defining interfaces which map key objects to value objects.

Author(s)

Jeremy Siek

First Release

1.19.0

C++ Standard Minimum Level

11

Categories

Containers, Generic Programming

Property Map (Parallel)

Parallel extensions to Property Map for use with Parallel Graph.

Author(s)

Jeremy Siek

First Release

1.77.0

C++ Standard Minimum Level

03

Categories

Containers, Generic Programming

Property Tree

A tree data structure especially suited to storing configuration data.

Author(s)

Marcin Kalicinski and Sebastian Redl

First Release

1.41.0

C++ Standard Minimum Level

11

Categories

Containers, Data structures

Proto

Expression template library and compiler construction toolkit for domain-specific embedded languages.

Author(s)

Eric Niebler

First Release

1.37.0

Categories

Template Metaprogramming

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

C++ Standard Minimum Level

03

Categories

Inter-language support

QVM

Generic C++ library for working with Quaternions Vectors and Matrices.

Author(s)

Emil Dotchevski

First Release

1.62.0

C++ Standard Minimum Level

03

Categories

Algorithms, Generic Programming, Math and numerics

Random

A complete system for random number generation.

Author(s)

Jens Maurer

First Release

1.15.0

C++ Standard Minimum Level

11

Categories

Math and numerics

Range

A new infrastructure for generic algorithms that builds on top of the new iterator concepts.

Author(s)

Niel Groves and Thorsten Ottosen

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Algorithms

Ratio

Compile time rational arithmetic. C++11.

Author(s)

Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba

First Release

1.47.0

C++ Standard Minimum Level

11

Categories

Math and numerics

Rational

A rational number class.

Author(s)

Paul Moore

First Release

1.11.0

C++ Standard Minimum Level

11

Categories

Math and numerics

Redis

Redis async client library built on top of Boost.Asio.

Author(s)

Marcelo Zimbres Silva

First Release

1.84.0

C++ Standard Minimum Level

17

Categories

Concurrent Programming, Input/Output

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

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Regex

Regular expression library.

Author(s)

John Maddock

First Release

1.18.0

C++ Standard Minimum Level

11

Categories

String and text processing

Result Of

Determines the type of a function call expression.

Author(s)

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming

Safe Numerics

Guaranteed Correct Integer Arithmetic

Author(s)

Robert Ramey

First Release

1.69.0

C++ Standard Minimum Level

14

Categories

Correctness and testing, Math and numerics

Scope

A collection of scope guards and a unique_resource wrapper.

Author(s)

Andrey Semashev

First Release

1.85.0

C++ Standard Minimum Level

11

Categories

Language Features Emulation, Patterns and Idioms

Scope Exit

Execute arbitrary code at scope exit.

Author(s)

Alexander Nasonov

First Release

1.38.0

Categories

Language Features Emulation

Serialization

Serialization for persistence and marshalling.

Author(s)

Robert Ramey

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Input/Output

Signals2

Managed signals & slots callback implementation (thread-safe version 2).

Author(s)

Frank Mori Hess

First Release

1.39.0

C++ Standard Minimum Level

03

Categories

Function objects and higher-order programming, Patterns and Idioms

Smart Ptr

Smart pointer class templates.

Author(s)

Greg Colvin, Beman Dawes, Peter Dimov, Darin Adler and Glen Fernandes

First Release

1.23.0

C++ Standard Minimum Level

11

Categories

Memory

Sort

High-performance templated sort functions.

Author(s)

Steven Ross

First Release

1.58.0

C++ Standard Minimum Level

03

Categories

Algorithms

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

C++ Standard Minimum Level

03

Categories

Parsing, String and text processing

Spirit Classic

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

C++ Standard Minimum Level

03

Categories

Parsing, String and text processing

Spirit Repository

The Spirit repository is a community effort collecting different reusable components (primitives, directives, grammars, etc.) for Qi parsers and Karma generators.

Author(s)

Joel de Guzman, Hartmut Kaiser and Dan Nuffer

First Release

1.69.0

C++ Standard Minimum Level

03

Categories

Parsing, String and text processing

Stacktrace

Gather, store, copy and print backtraces.

Author(s)

Antony Polukhin

First Release

1.65.0

C++ Standard Minimum Level

11

Categories

Correctness and testing, System

Statechart

Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code.

Author(s)

Andreas Huber Dönni

First Release

1.34.0

C++ Standard Minimum Level

03

Categories

State Machines

Static Assert

Static assertions (compile time assertions).

Author(s)

John Maddock

First Release

1.19.0

C++ Standard Minimum Level

03

Categories

Correctness and testing, Generic Programming, Template Metaprogramming

Static String

A fixed capacity dynamically sized string.

Author(s)

Krystian Stasiowski and Vinnie Falco

First Release

1.73.0

C++ Standard Minimum Level

11

Categories

String and text processing

Stl_interfaces

C++14 and later CRTP templates for defining iterators, views, and containers.

Author(s)

T. Zachary Laine

First Release

1.74.0

C++ Standard Minimum Level

14

Categories

Generic Programming

String Algo

String algorithms library.

Author(s)

Pavol Droba

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Algorithms, String and text processing

String Ref

String view templates.

Author(s)

Marshall Clow

First Release

1.71.0

C++ Standard Minimum Level

03

Categories

Containers

String View

String view templates.

Author(s)

Marshall Clow

First Release

1.84.0

C++ Standard Minimum Level

03

Categories

Containers, String and text processing

Swap

Enhanced generic swap function.

Author(s)

Joseph Gauterin

First Release

1.38.0

C++ Standard Minimum Level

03

Categories

Miscellaneous

System

Extensible error reporting.

Author(s)

Beman Dawes

First Release

1.35.0

C++ Standard Minimum Level

11

Categories

Error handling and recovery, Programming Interfaces, System

Test

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

Author(s)

Gennadiy Rozental and Raffi Enficiaud

First Release

1.21.0

C++ Standard Minimum Level

11

Categories

Correctness and testing

Thread

Portable C++ multi-threading. C++11, C++14, C++17.

Author(s)

Anthony Williams and Vicente J. Botet Escriba

First Release

1.25.0

C++ Standard Minimum Level

11

Categories

Concurrent Programming, System

ThrowException

A common infrastructure for throwing exceptions from Boost libraries.

Author(s)

Emil Dotchevski and Peter Dimov

First Release

1.56.0

C++ Standard Minimum Level

03

Categories

Language Features Emulation, Error handling and recovery

Timer

Event timer, progress timer, and progress display classes.

Author(s)

Beman Dawes

First Release

1.9.0

C++ Standard Minimum Level

03

Categories

Miscellaneous

Tokenizer

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

Author(s)

John Bandela

First Release

1.23.0

C++ Standard Minimum Level

03

Categories

Iterators, String and text processing

Tribool

3-state boolean type library.

Author(s)

Doug Gregor

First Release

1.32.0

C++ Standard Minimum Level

03

Categories

Miscellaneous

TTI

Type Traits Introspection library.

Author(s)

Edward Diener

First Release

1.54.0

C++ Standard Minimum Level

03

Categories

Generic Programming, Template Metaprogramming

Tuple

Ease definition of functions returning multiple values, and more.

Author(s)

Jaakko Järvi

First Release

1.24.0

C++ Standard Minimum Level

03

Categories

Data structures

Type Erasure

Runtime polymorphism based on concepts.

Author(s)

Steven Watanabe

First Release

1.54.0

C++ Standard Minimum Level

03

Categories

Data structures

Type Index

Runtime/Compile time copyable type info.

Author(s)

Antony Polukhin

First Release

1.56.0

C++ Standard Minimum Level

11

Categories

Language Features Emulation

Type Traits

Templates for fundamental properties of types.

Author(s)

John Maddock, Steve Cleary, et al

First Release

1.13.0

C++ Standard Minimum Level

03

Categories

Generic Programming, Template Metaprogramming

Typeof

Typeof operator emulation.

Author(s)

Arkadiy Vertleyb and Peder Holt

First Release

1.34.0

C++ Standard Minimum Level

11

Categories

Language Features Emulation

uBLAS

uBLAS provides tensor, 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

Categories

Math and numerics

Units

Zero-overhead dimensional analysis and unit/quantity manipulation and conversion.

Author(s)

Matthias Schabel and Steven Watanabe

First Release

1.36.0

Categories

Domain Specific

Unordered

Unordered associative containers.

Author(s)

Daniel James

First Release

1.36.0

C++ Standard Minimum Level

11

Categories

Containers

URL

URL parsing in C++11

Author(s)

Vinnie Falco and Alan de Freitas

First Release

1.81.0

C++ Standard Minimum Level

11

Categories

Containers, Data structures, Input/Output

Utility

Various utilities, such as base-from-member idiom and binary literals in C++03.

Author(s)

Dave Abrahams and others

First Release

1.13.0

C++ Standard Minimum Level

03

Categories

Miscellaneous, Patterns and Idioms

Uuid

A universally unique identifier.

Author(s)

Andy Tompkins

First Release

1.42.0

C++ Standard Minimum Level

11

Categories

Data structures, Domain Specific

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

C++ Standard Minimum Level

03

Categories

Miscellaneous

Variant

Safe, generic, stack-based discriminated union container.

Author(s)

Eric Friedman and Itay Maman

First Release

1.31.0

C++ Standard Minimum Level

11

Categories

Containers, Data structures

Variant2

A never-valueless, strong guarantee implementation of std::variant.

Author(s)

Peter Dimov

First Release

1.71.0

C++ Standard Minimum Level

11

Categories

Containers, Data structures

VMD

Variadic Macro Data library.

Author(s)

Edward Diener

First Release

1.60.0

C++ Standard Minimum Level

03

Categories

Preprocessor Metaprogramming

Wave

The Boost.Wave library is a Standards conformant, and highly configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface.

Author(s)

Hartmut Kaiser

First Release

1.33.0

C++ Standard Minimum Level

11

Categories

String and text processing

Xpressive

Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars.

Author(s)

Eric Niebler

First Release

1.34.0

Categories

String and text processing

YAP

An expression template library for C++14 and later.

Author(s)

T. Zachary Laine

First Release

1.68.0

C++ Standard Minimum Level

14

Categories

Generic Programming, Template Metaprogramming