List View
Grid View
Category View
Algorithms
Algorithm 03
A collection of useful generic algorithms.
Foreach 03
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.
Geometry 14
The Boost.Geometry library provides geometric algorithms, primitives and spatial index.
GIL 14
(C++14) Generic Image Library
Graph 03
The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).
GraphParallel 03
The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).
Histogram 14
Fast multi-dimensional histogram with convenient interface for C++14
Min-Max 03
Standard library extensions for simultaneous min/max and min/max element computations.
Polygon 03
Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.
QVM 03
Generic C++ library for working with Quaternions Vectors and Matrices.
Range 03
A new infrastructure for generic algorithms that builds on top of the new iterator concepts.
Sort 03
High-performance templated sort functions.
String Algo 03
String algorithms library.
Asynchronous
Cobalt 20
Coroutines. Basic Algorithms & Types
Awaitables
Cobalt 20
Coroutines. Basic Algorithms & Types
Concurrent
Asio 11
Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs.
Atomic 11
C++11-style atomic types.
Beast 11
Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio
Cobalt 20
Coroutines. Basic Algorithms & Types
Compute 03
Parallel/GPU-computing library
Context 11
(C++11) Context switching library.
Coroutine 03
Coroutine library.
Coroutine2 11
(C++11) Coroutine library.
Fiber 11
(C++11) Userland threads library.
Interprocess 03
Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators.
Lockfree 03
Lockfree data structures.
MPI 03
Message Passing Interface library, for use in distributed-memory parallel application programming.
MySQL 11
MySQL client library built on top of Boost.Asio.
Redis 17
Redis async client library built on top of Boost.Asio.
Thread 11
Portable C++ multi-threading. C++11, C++14, C++17.
Container
Static String 11
A fixed capacity dynamically sized string.
Containers
Array 03
STL compliant container wrapper for arrays of constant size.
Bimap 03
Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key.
Circular Buffer 03
A STL compliant container also known as ring or cyclic buffer.
Container 03
Standard library containers and extensions.
Dynamic Bitset 03
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.
GIL 14
(C++14) Generic Image Library
Graph 03
The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).
GraphParallel 03
The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).
ICL 03
Interval Container Library, interval sets and maps and aggregation of associated values
Intrusive 03
Intrusive containers and algorithms.
JSON 11
JSON parsing, serialization, and DOM in C++11
Multi-Array 03
Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface.
Multi-Index 03
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.
Pointer Container 03
Containers for storing heap-allocated polymorphic objects to ease OO-programming.
PolyCollection 11
Fast containers of polymorphic objects.
Property Map 03
Concepts defining interfaces which map key objects to value objects.
Property Map (Parallel) 03
Parallel extensions to Property Map for use with Parallel Graph.
Property Tree 11
A tree data structure especially suited to storing configuration data.
String View 03
String view templates.
Unordered 11
Unordered associative containers.
URL 11
URL parsing in C++11
Variant 11
Safe, generic, stack-based discriminated union container.
Variant2 11
A never-valueless, strong guarantee implementation of std::variant.
Coroutines
Cobalt 20
Coroutines. Basic Algorithms & Types
Correctness
Assert 03
Customizable assert macros.
Concept Check 03
Tools for generic programming.
Contract 03
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.
Safe Numerics 14
Guaranteed Correct Integer Arithmetic
Stacktrace 11
Gather, store, copy and print backtraces.
Static Assert 03
Static assertions (compile time assertions).
Test 11
Support for simple program testing, full unit testing, and for program execution monitoring.
Data
Any 11
Safe, generic container for single values of different value types.
Bimap 03
Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key.
Compressed Pair 03
A pair class with empty member optimization.
Container 03
Standard library containers and extensions.
Fusion 03
Library for working with tuples, including various containers, algorithms, etc.
Geometry 14
The Boost.Geometry library provides geometric algorithms, primitives and spatial index.
Heap 03
Priority queue data structures.
Histogram 14
Fast multi-dimensional histogram with convenient interface for C++14
ICL 03
Interval Container Library, interval sets and maps and aggregation of associated values
JSON 11
JSON parsing, serialization, and DOM in C++11
Multi-Index 03
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.
Optional 03
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.
PFR 14
Basic reflection for user defined types.
Pointer Container 03
Containers for storing heap-allocated polymorphic objects to ease OO-programming.
Polygon 03
Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.
Property Tree 11
A tree data structure especially suited to storing configuration data.
Tuple 03
Ease definition of functions returning multiple values, and more.
Type Erasure 03
Runtime polymorphism based on concepts.
URL 11
URL parsing in C++11
Uuid 03
A universally unique identifier.
Variant 11
Safe, generic, stack-based discriminated union container.
Variant2 11
A never-valueless, strong guarantee implementation of std::variant.
Domain
Chrono 11
Useful time utilities. C++11.
CRC 11
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.
Date Time 03
A set of date-time libraries based on generic programming concepts.
Units 03
Zero-overhead dimensional analysis and unit/quantity manipulation and conversion.
Uuid 03
A universally unique identifier.
Emulation
Compat 11
C++11 implementations of standard components added in later C++ standards.
Describe 03
A C++14 reflection library.
Exception 03
The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads.
Foreach 03
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.
Move 03
Portable move semantics for C++03 and C++11 compilers.
Outcome 14
A deterministic failure handling library partially simulating lightweight exceptions.
Parameter 03
Boost.Parameter Library - Write functions that accept arguments by name.
Parameter Python Bindings 03
Boost.Parameter Library Python bindings.
Scope 11
A collection of scope guards and a unique_resource wrapper.
Scope Exit 03
Execute arbitrary code at scope exit.
ThrowException 03
A common infrastructure for throwing exceptions from Boost libraries.
Type Index 11
Runtime/Compile time copyable type info.
Typeof 11
Typeof operator emulation.
Error-handling
Assert 03
Customizable assert macros.
Exception 03
The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads.
LEAF 11
A lightweight error handling library for C++11.
System 11
Extensible error reporting.
ThrowException 03
A common infrastructure for throwing exceptions from Boost libraries.
Function-objects
Bind 11
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.
Container Hash 11
An STL-compatible hash function object that can be extended to hash user defined types.
Function 11
Function object wrappers for deferred calls or callbacks.
Functional 03
The Boost.Function library contains a family of class templates that are function object wrappers.
Functional/Factory 03
Function object templates for dynamic and static object creation
Functional/Forward 03
Adapters to allow generic function objects to accept arbitrary arguments
Functional/Overloaded Function 03
Overload different functions into a single function object.
HOF 11
Higher-order functions for C++
Lambda 03
Define small unnamed function objects at the actual call site, and more.
Lambda2 14
A C++14 lambda library.
Local Function 03
Program functions locally, within other functions, directly within the scope where they are needed.
Member Function 11
Generalized binders for function/object/pointers and member functions.
Phoenix 03
Define small unnamed function objects at the actual call site, and more.
Ref 03
A utility library for passing references to generic functions.
Result Of 03
Determines the type of a function call expression.
Signals2 03
Managed signals & slots callback implementation (thread-safe version 2).
Generic
Call Traits 03
Defines types for passing parameters.
Concept Check 03
Tools for generic programming.
Enable If 03
Selective inclusion of function template overloads.
Function Types 03
Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
GIL 14
(C++14) Generic Image Library
In Place Factory, Typed In Place Factory 03
Generic in-place construction of contained objects with a variadic argument-list.
Operators 03
Templates to simplify operator definition in arithmetic classes and iterators.
Property Map 03
Concepts defining interfaces which map key objects to value objects.
Property Map (Parallel) 03
Parallel extensions to Property Map for use with Parallel Graph.
QVM 03
Generic C++ library for working with Quaternions Vectors and Matrices.
Static Assert 03
Static assertions (compile time assertions).
Stl_interfaces 14
C++14 and later CRTP templates for defining iterators, views, and containers.
TTI 03
Type Traits Introspection library.
Type Traits 03
Templates for fundamental properties of types.
YAP 14
An expression template library for C++14 and later.
Image-processing
GIL 14
(C++14) Generic Image Library
Inter-language
Python 03
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.
IO
Asio 11
Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs.
Assign 03
Filling containers with constant or generated data has never been easier.
Beast 11
Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio
Endian 11
Types and conversion functions for correct byte ordering and more regardless of processor endianness.
Format 03
The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string.
IO 03
Utilities for the standard I/O library.
Iostreams 03
Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters.
JSON 11
JSON parsing, serialization, and DOM in C++11
MySQL 11
MySQL client library built on top of Boost.Asio.
Program Options 11
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.
Redis 17
Redis async client library built on top of Boost.Asio.
Serialization 03
Serialization for persistence and marshalling.
URL 11
URL parsing in C++11
Iterators
GIL 14
(C++14) Generic Image Library
Graph 03
The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).
GraphParallel 03
The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL).
Iterator 03
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.
Operators 03
Templates to simplify operator definition in arithmetic classes and iterators.
Tokenizer 03
Break of a string or other character sequence into a series of tokens.
Math
Accumulators 03
Framework for incremental calculation, and collection of statistical accumulators.
Endian 11
Types and conversion functions for correct byte ordering and more regardless of processor endianness.
Geometry 14
The Boost.Geometry library provides geometric algorithms, primitives and spatial index.
Histogram 14
Fast multi-dimensional histogram with convenient interface for C++14
Integer 03
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.
Interval 03
Extends the usual arithmetic functions to mathematical intervals.
Math 14
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)
Multi-Array 03
Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface.
Multiprecision 14
Extended precision arithmetic types for floating point, integer, and rational arithmetic.
Numeric Conversion 03
Optimized Policy-based Numeric Conversions.
Odeint 11
Solving ordinary differential equations.
Operators 03
Templates to simplify operator definition in arithmetic classes and iterators.
Polygon 03
Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.
QVM 03
Generic C++ library for working with Quaternions Vectors and Matrices.
Random 11
A complete system for random number generation.
Ratio 11
Compile time rational arithmetic. C++11.
Rational 03
A rational number class.
Safe Numerics 14
Guaranteed Correct Integer Arithmetic
uBLAS 03
uBLAS provides tensor, matrix, and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported.
Memory
Align 03
Memory alignment functions, allocators, traits.
Pool 03
Memory pool management.
Smart Ptr 03
Smart pointer class templates.
Metaprogramming
CallableTraits 11
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.
Describe 03
A C++14 reflection library.
Function Types 03
Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
Fusion 03
Library for working with tuples, including various containers, algorithms, etc.
Hana 14
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.
HOF 11
Higher-order functions for C++
Metaparse 03
A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process
Mp11 11
A C++11 metaprogramming library.
MPL 03
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.
PFR 14
Basic reflection for user defined types.
Proto 03
Expression template library and compiler construction toolkit for domain-specific embedded languages.
Static Assert 03
Static assertions (compile time assertions).
TTI 03
Type Traits Introspection library.
Type Traits 03
Templates for fundamental properties of types.
YAP 14
An expression template library for C++14 and later.
Miscellaneous
CharConv 11
An implementation of <charconv> in C++11.
Conversion 11
Polymorphic casts.
Convert 11
An extendible and configurable type-conversion framework.
Core 03
A collection of simple core utilities with minimal dependencies.
Detail 03
This library contains a set of header only utilities used internally by Boost C++ Libraries to facilitate their implementation.
Endian 11
Types and conversion functions for correct byte ordering and more regardless of processor endianness.
Lexical Cast 11
General literal text conversions, such as an int represented a string, or vice-versa.
Log 11
Logging library.
Numeric Conversion 03
Optimized Policy-based Numeric Conversions.
Predef 98
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.
Program Options 11
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.
Swap 03
Enhanced generic swap function.
Timer 03
Event timer, progress timer, and progress display classes.
Tribool 03
3-state boolean type library.
Utility 03
Various utilities, such as base-from-member idiom and binary literals in C++03.
Value Initialized 03
Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams.
WinAPI 03
Windows API abstraction layer.
Parsing
Spirit 03
LL parser framework represents parsers directly as EBNF grammars in inlined C++.
Patterns
Compressed Pair 03
A pair class with empty member optimization.
Flyweight 03
Design pattern to manage large quantities of highly redundant objects.
Outcome 14
A deterministic failure handling library partially simulating lightweight exceptions.
Scope 11
A collection of scope guards and a unique_resource wrapper.
Signals2 03
Managed signals & slots callback implementation (thread-safe version 2).
Utility 03
Various utilities, such as base-from-member idiom and binary literals in C++03.
Preprocessor
Identity Type 03
Wrap types within round parenthesis so they can always be passed as macro parameters.
Preprocessor 03
Preprocessor metaprogramming tools including repetition and recursion.
VMD 03
Variadic Macro Data library.
Programming
Compat 11
C++11 implementations of standard components added in later C++ standards.
Function 11
Function object wrappers for deferred calls or callbacks.
Outcome 14
A deterministic failure handling library partially simulating lightweight exceptions.
Parameter 03
Boost.Parameter Library - Write functions that accept arguments by name.
Parameter Python Bindings 03
Boost.Parameter Library Python bindings.
System 11
Extensible error reporting.
State
Meta State Machine 03
A very high-performance library for expressive UML2 finite state machines.
Statechart 03
Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code.
String
CharConv 11
An implementation of <charconv> in C++11.
Convert 11
An extendible and configurable type-conversion framework.
Format 03
The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string.
Iostreams 03
Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters.
Lexical Cast 11
General literal text conversions, such as an int represented a string, or vice-versa.
Locale 11
Provide localization and Unicode handling tools for C++.
Regex 11
Regular expression library.
Spirit 03
LL parser framework represents parsers directly as EBNF grammars in inlined C++.
Static String 11
A fixed capacity dynamically sized string.
String Algo 03
String algorithms library.
String View 03
String view templates.
Tokenizer 03
Break of a string or other character sequence into a series of tokens.
Wave 11
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.
Xpressive 03
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.
System
Chrono 11
Useful time utilities. C++11.
Context 11
(C++11) Context switching library.
Date Time 03
A set of date-time libraries based on generic programming concepts.
DLL 11
Library for comfortable work with DLL and DSO.
Fiber 11
(C++11) Userland threads library.
Filesystem 11
The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories.
Nowide 11
Standard library functions with UTF-8 API on Windows.
Process 11
Library to create processes in a portable way.
Stacktrace 11
Gather, store, copy and print backtraces.
System 11
Extensible error reporting.
Thread 11
Portable C++ multi-threading. C++11, C++14, C++17.
Workarounds
Compatibility 03
Help for non-conforming standard libraries.
Config 03
Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.