v3 flag enabled

Find a battle-tested library for the problem you're solving right now.

Excited Cartoon Mascot Excited Cartoon Mascot
Accumulators

Framework for incremental calculation, and collection of statistical accumulators.

Math Unknown
Unknown
Algorithm

A collection of useful generic algorithms.

Algorithms Unknown
Unknown
Align

Memory alignment functions, allocators, and traits.

Memory Unknown
Unknown
Any

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

Data Unknown
Unknown
Array

None

Containers Unknown
Unknown
Asio

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

Concurrent IO Unknown
Unknown
Assert

Customizable assert macros.

Unknown
Assign

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

IO Unknown
Unknown
Atomic

C++11-style atomic<>.

Concurrent Unknown
Unknown
Bimap

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

Containers Data Unknown
Unknown
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.

Unknown
Call Traits

Defines types for passing parameters.

Generic Unknown
Unknown
Chrono

Useful time utilities. C++11.

Domain System Unknown
Unknown
Circular Buffer

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

Containers Unknown
Unknown
Compatibility

Help for non-conforming standard libraries.

Workarounds Unknown
Unknown
Compressed Pair

Empty member optimization.

Data Patterns Unknown
Unknown
Compute

Parallel/GPU-computing library

Concurrent Unknown
Unknown
Concept Check

Tools for generic programming.

Unknown
Config

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

Workarounds Unknown
Unknown
Container

Standard library containers and extensions.

Containers Data Unknown
Unknown
Container Hash

A TR1 hash function object that can be extended to hash user defined types.

Unknown
Unknown
Context

(C++11) Context switching library.

Concurrent System Unknown
Unknown
Conversion

Polymorphic casts.

Miscellaneous Unknown
Unknown
Convert

An extendible and configurable type-conversion framework.

Unknown
Core

A collection of simple core utilities with minimal dependencies.

Miscellaneous Unknown
Unknown
Coroutine

Coroutine library.

Concurrent Unknown
Unknown
Coroutine2

(C++11) Coroutine library.

Concurrent Unknown
Unknown
CRC

None

Domain Unknown
Unknown
Date Time

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

Domain System Unknown
Unknown
Detail

This library contains a set of header only utilities used internally by Boost C++ Libraries to facilitate their implementation.

Miscellaneous Unknown
Unknown
DLL

Library for comfortable work with DLL and DSO.

System Unknown
Unknown
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.

Data structures Unknown
Unknown
Enable If

Selective inclusion of function template overloads.

Generic Unknown
Unknown
Endian

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

Unknown
Exception

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

Unknown
Fiber

(C++11) Userland threads library.

Concurrent System Unknown
Unknown
Filesystem

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

System Unknown
Unknown
Flyweight

Design pattern to manage large quantities of highly redundant objects.

Patterns Unknown
Unknown
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.

Unknown
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%.

IO String Unknown
Unknown
Function

Function object wrappers for deferred calls or callbacks.

Unknown
Functional

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

Unknown
Functional/Factory

Function object templates for dynamic and static object creation

Unknown
Functional/Forward

Adapters to allow generic function objects to accept arbitrary arguments

Unknown
Functional/Overloaded Function

Overload different functions into a single function object.

Unknown
Function Types

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

Unknown
Fusion

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

Unknown
Geometry

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

Algorithms Data Math Unknown
Unknown
Unknown
Graph

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

Unknown
GraphParallel

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

Unknown
Heap

Priority queue data structures.

Data Unknown
Unknown
ICL

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

Containers Data Unknown
Unknown
Identity Type

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

Preprocessor Unknown
Unknown
In Place Factory, Typed In Place Factory

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

Generic Unknown
Unknown
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.

Math Unknown
Unknown
Interprocess

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

Concurrent Unknown
Unknown
Interval

Extends the usual arithmetic functions to mathematical intervals.

Math Unknown
Unknown
Intrusive

Intrusive containers and algorithms.

Containers Unknown
Unknown
IO

None

IO Unknown
Unknown
Iostreams

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

IO String Unknown
Unknown
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.

Iterators Unknown
Unknown
Lambda

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

Unknown
Lexical Cast

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

Unknown
Locale

Provide localization and Unicode handling tools for C++.

String Unknown
Unknown
Local Function

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

Unknown
Lockfree

Lockfree data structures.

Concurrent Unknown
Unknown
Log

Logging library.

Miscellaneous Unknown
Unknown
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.

Math Unknown
Unknown
Math Common Factor

Greatest common divisor and least common multiple.

Unknown
Unknown
Math Octonion

Octonions.

Unknown
Unknown
Math Quaternion

Quaternions.

Unknown
Unknown
Math/Special Functions

A wide selection of mathematical special functions.

Unknown
Unknown
Math/Statistical Distributions

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

Unknown
Unknown
Member Function

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

Unknown
Meta State Machine

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

State Unknown
Unknown
Min-Max

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

Algorithms Unknown
Unknown
Move

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

Emulation Unknown
Unknown
MPI

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

Concurrent Unknown
Unknown
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.

Metaprogramming Unknown
Unknown
Multi-Array

None

Containers Math Unknown
Unknown
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.

Containers Data Unknown
Unknown
Multiprecision

Extended precision arithmetic types for floating point, integer andrational arithmetic.

Math Unknown
Unknown
Unknown
Odeint

Solving ordinary differential equations.

Math Unknown
Unknown
Operators

Templates ease arithmetic classes and iterators.

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

Data Unknown
Unknown
Parameter

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

Unknown
Phoenix

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

Unknown
Pointer Container

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

Containers Data Unknown
Unknown
Polygon

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

Algorithms Data Math Unknown
Unknown
Pool

Memory pool management.

Memory Unknown
Unknown
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.

Miscellaneous Unknown
Unknown
Preprocessor

Preprocessor metaprogramming tools including repetition and recursion.

Preprocessor Unknown
Unknown
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.

IO Miscellaneous Unknown
Unknown
Property Map

Concepts defining interfaces which map key objects to value objects.

Unknown
Property Tree

A tree data structure especially suited to storing configuration data.

Containers Data Unknown
Unknown
Proto

None

Metaprogramming Unknown
Unknown
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.

Inter-language Unknown
Unknown
QVM

Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications.

Unknown
Random

A complete system for random number generation.

Math Unknown
Unknown
Range

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

Algorithms Unknown
Unknown
Ratio

Compile time rational arithmetic. C++11.

Math Unknown
Unknown
Rational

A rational number class.

Math Unknown
Unknown
Ref

A utility library for passing references to generic functions.

Unknown
Regex

Regular expression library.

String Unknown
Unknown
Result Of

Determines the type of a function call expression.

Unknown
Scope Exit

Execute arbitrary code at scope exit.

Emulation Unknown
Unknown
Serialization

Serialization for persistence and marshalling.

IO Unknown
Unknown
Signals

Managed signals & slots callback implementation.

Unknown
Unknown
Signals2

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

Unknown
Smart Ptr

Smart pointer class templates.

Memory Unknown
Unknown
Sort

High-performance templated sort functions.

Algorithms Unknown
Unknown
Spirit

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

Parsing String Unknown
Unknown
Statechart

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

State Unknown
Unknown
Static Assert

Static assertions (compile time assertions).

Unknown
String Algo

String algorithms library.

Algorithms String Unknown
Unknown
String Ref

None

Unknown
Unknown
Swap

Enhanced generic swap function.

Miscellaneous Unknown
Unknown
System

Operating system support, including the diagnostics support that will be part of the C++0x standard library.

Unknown
Test

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

Correctness Unknown
Unknown
Thread

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

Concurrent System Unknown
Unknown
ThrowException

A common infrastructure for throwing exceptions from Boost libraries.

Unknown
Timer

Event timer, progress timer, and progress display classes.

Miscellaneous Unknown
Unknown
Tokenizer

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

Iterators String Unknown
Unknown
Tribool

3-state boolean type library.

Miscellaneous Unknown
Unknown
TTI

Type Traits Introspection library.

Unknown
Tuple

None

Data Unknown
Unknown
Type Erasure

Runtime polymorphism based on concepts.

Data Unknown
Unknown
Type Index

Runtime/Compile time copyable type info.

Emulation Unknown
Unknown
Typeof

Typeof operator emulation.

Emulation Unknown
Unknown
Type Traits

Templates for fundamental properties of types.

Unknown
uBLAS

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

Math Unknown
Unknown
Units

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

Domain Unknown
Unknown
Unordered

Unordered associative containers.

Containers Unknown
Unknown
Utility

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

Unknown
Uuid

A universally unique identifier.

Data Domain Unknown
Unknown
Value Initialized

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

Miscellaneous Unknown
Unknown
Variant

Safe, generic, stack-based discriminated union container.

Containers Data Unknown
Unknown
VMD

Variadic Macro Data library.

Preprocessor Unknown
Unknown
Wave

None

String Unknown
Unknown
WinAPI

Windows API abstraction layer.

Miscellaneous Unknown
Unknown
Xpressive

None

String Unknown
Unknown