]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/libraries.htm
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / libraries.htm
CommitLineData
7c673cae
FG
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4
5<head>
6<meta http-equiv="Content-Type"
1e59de90 7content="text/html; charset=utf-8">
7c673cae
FG
8<meta name="ProgId" content="FrontPage.Editor.Document">
9<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
10<title>Boost Libraries</title>
11<link rel="stylesheet" href="../doc/src/boostbook.css" type="text/css" />
12</head>
13
14<body bgcolor="#FFFFFF" text="#000000">
15
16 <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
17 <tr>
18 <td width="277">
19 <a href="../index.html">
20 <img src="../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
21 <td width="337" align="middle">
22 <font size="7">Libraries</font>
23 </td>
24 </tr>
25 </table>
26
27 <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" height="26" width="673">
28 <tr>
29 <td height="16" width="663"><a href="../more/getting_started/index.html">Getting Started</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
30 </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="../tools/index.html">Tools&nbsp;</a>&nbsp;<font color="#FFFFFF">&nbsp;
31 </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.boost.org">Web Site</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
32 </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.boost.org/users/news/">News</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
33 </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.boost.org/community/">Community</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
34 </font>&nbsp;&nbsp;&nbsp;&nbsp;
35 <a href="http://www.boost.org/users/faq.html">FAQ</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
36 </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="../more/index.htm">More Info</a></td>
37 </tr>
38 </table>
39
40<dl>
41 <dt><a href="#Alphabetically">Libraries Listed Alphabetically</a></dt>
42 <dt><a href="#Category">Libraries Listed by Category</a></dt>
43 <dl>
b32b8144
FG
44 <dt><a href="#Algorithms">Algorithms</a></dt>
45 <dt><a href="#Workarounds">Broken compiler workarounds</a></dt>
46 <dt><a href="#Concurrent">Concurrent Programming</a></dt>
47 <dt><a href="#Containers">Containers</a></dt>
48 <dt><a href="#Correctness">Correctness and testing</a></dt>
49 <dt><a href="#Data">Data structures</a></dt>
50 <dt><a href="#Domain">Domain Specific</a></dt>
1e59de90 51 <dt><a href="#Error-handling">Error handling and recovery</a></dt>
b32b8144
FG
52 <dt><a href="#Function-objects">Function objects and higher-order programming</a></dt>
53 <dt><a href="#Generic">Generic Programming</a></dt>
54 <dt><a href="#Image-processing">Image processing</a></dt>
55 <dt><a href="#IO">Input/Output</a></dt>
56 <dt><a href="#Inter-language">Inter-language support</a></dt>
57 <dt><a href="#Iterators">Iterators</a></dt>
58 <dt><a href="#Emulation">Language Features Emulation</a></dt>
59 <dt><a href="#Math">Math and numerics</a></dt>
60 <dt><a href="#Memory">Memory</a></dt>
61 <dt><a href="#Parsing">Parsing</a></dt>
62 <dt><a href="#Patterns">Patterns and Idioms</a></dt>
63 <dt><a href="#Preprocessor">Preprocessor Metaprogramming</a></dt>
64 <dt><a href="#Programming">Programming Interfaces</a></dt>
65 <dt><a href="#State">State Machines</a></dt>
66 <dt><a href="#String">String and text processing</a></dt>
67 <dt><a href="#System">System</a></dt>
1e59de90 68 <dt><a href="#Metaprogramming">Template Metaprogramming</a></dt>
b32b8144 69 <dt><a href="#Miscellaneous">Miscellaneous</a></dt>
7c673cae
FG
70 </dl>
71 <dt><a href="#Removed">Libraries Retired from Boost</a></dt>
72</dl>
73
74<p>See <a href="../more/getting_started.html">Getting Started</a> page to find out
75how to download, build, and install the libraries.</p>
76
77<hr>
78
79<h2>Libraries Listed <a name="Alphabetically">Alphabetically</a></h2>
80
81<ul>
b32b8144
FG
82 <li><a href="accumulators/index.html">Accumulators</a> - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler</li>
83 <li><a href="algorithm/index.html">Algorithm</a> - A collection of useful generic algorithms, from Marshall Clow</li>
92f5a8d4 84 <li><a href="align/index.html">Align</a> - Memory alignment functions, allocators, traits, from Glen Fernandes</li>
b32b8144
FG
85 <li><a href="any/index.html">Any</a> - Safe, generic container for single values of different value types, from Kevlin Henney</li>
86 <li><a href="array/index.html">Array</a> - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis</li>
87 <li><a href="asio/index.html">Asio</a> - Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff</li>
88 <li><a href="assert/index.html">Assert</a> - Customizable assert macros, from Peter Dimov</li>
89 <li><a href="assign/index.html">Assign</a> - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen</li>
90 <li><a href="atomic/index.html">Atomic</a> - C++11-style atomic&lt;&gt;, from Helge Bahmann, Tim Blechmann and Andrey Semashev</li>
91 <li><a href="beast/index.html">Beast</a> - Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco</li>
92 <li><a href="bimap/index.html">Bimap</a> - Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto</li>
93 <li><a href="bind/index.html">Bind</a> - 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, from Peter Dimov</li>
94 <li><a href="utility/call_traits.htm">Call Traits</a> - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al</li>
1e59de90 95 <li><a href="callable_traits/index.html">CallableTraits</a> - A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only C++11 library for the compile-time inspection and manipulation of all &#39;callable&#39; types. Additional support for C++17 features, from Barrett Adair</li>
b32b8144
FG
96 <li><a href="chrono/index.html">Chrono</a> - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
97 <li><a href="circular_buffer/index.html">Circular Buffer</a> - A STL compliant container also known as ring or cyclic buffer, from Jan Gaspar</li>
98 <li><a href="compatibility/index.html">Compatibility</a> - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer</li>
99 <li><a href="utility/compressed_pair.htm">Compressed Pair</a> - Empty member optimization, from John Maddock, Howard Hinnant, et al</li>
100 <li><a href="compute/index.html">Compute</a> - Parallel/GPU-computing library, from Kyle Lutz</li>
101 <li><a href="concept_check/index.html">Concept Check</a> - Tools for generic programming, from Jeremy Siek</li>
f67539c2 102 <li><a href="config/doc/html/index.html">Config</a> - Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users</li>
1e59de90 103 <li><a href="container/index.html">Container</a> - Standard library containers and extensions, from Ion Gaztañaga</li>
11fdf7f2 104 <li><a href="container_hash/index.html">Container Hash</a> - An STL-compatible hash function object that can be extended to hash user defined types, from Daniel James</li>
b32b8144 105 <li><a href="context/index.html">Context</a> - (C++11) Context switching library, from Oliver Kowalke</li>
11fdf7f2 106 <li><a href="contract/index.html">Contract</a> - 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, from Lorenzo Caminiti</li>
b32b8144
FG
107 <li><a href="conversion/index.html">Conversion</a> - Polymorphic casts, from Dave Abrahams and Kevlin Henney</li>
108 <li><a href="convert/index.html">Convert</a> - An extendible and configurable type-conversion framework, from Vladimir Batov</li>
109 <li><a href="core/index.html">Core</a> - A collection of simple core utilities with minimal dependencies, from Peter Dimov, Glen Fernandes and Andrey Semashev</li>
110 <li><a href="coroutine/index.html">Coroutine</a> - Coroutine library, from Oliver Kowalke</li>
111 <li><a href="coroutine2/index.html">Coroutine2</a> - (C++11) Coroutine library, from Oliver Kowalke</li>
112 <li><a href="crc/index.html">CRC</a> - 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, from Daryle Walker</li>
113 <li><a href="date_time/index.html">Date Time</a> - A set of date-time libraries based on generic programming concepts, from Jeff Garland</li>
1e59de90 114 <li><a href="describe/index.html">Describe</a> - A C++14 reflection library, from Peter Dimov</li>
b32b8144
FG
115 <li><a href="dll/index.html">DLL</a> - Library for comfortable work with DLL and DSO, from Antony Polukhin and Renato Tegon Forti</li>
116 <li><a href="dynamic_bitset/dynamic_bitset.html">Dynamic Bitset</a> - 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&amp; and operator&lt;&lt;. The number of bits in the set is specified at runtime via a parameter to the constructor of the dynamic_bitset, from Jeremy Siek and Chuck Allison</li>
1e59de90 117 <li><a href="core/doc/html/core/enable_if.html">Enable If</a> - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock and Andrew Lumsdaine</li>
b32b8144
FG
118 <li><a href="endian/index.html">Endian</a> - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes</li>
119 <li><a href="exception/doc/boost-exception.html">Exception</a> - The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads, from Emil Dotchevski</li>
120 <li><a href="fiber/index.html">Fiber</a> - (C++11) Userland threads library, from Oliver Kowalke</li>
121 <li><a href="filesystem/index.html">Filesystem</a> - The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories, from Beman Dawes</li>
1e59de90
TL
122 <li><a href="flyweight/index.html">Flyweight</a> - Design pattern to manage large quantities of highly redundant objects, from Joaquín M López Muñoz</li>
123 <li><a href="foreach/index.html">Foreach</a> - 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 &#34;foreach&#34; 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, from Eric Niebler</li>
b32b8144
FG
124 <li><a href="format/index.html">Format</a> - The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string, from Samuel Krempp</li>
125 <li><a href="function/index.html">Function</a> - Function object wrappers for deferred calls or callbacks, from Doug Gregor</li>
126 <li><a href="function_types/index.html">Function Types</a> - Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types, from Tobias Schwinger</li>
127 <li><a href="functional/index.html">Functional</a> - The Boost.Function library contains a family of class templates that are function object wrappers, from Mark Rodgers</li>
92f5a8d4 128 <li><a href="functional/factory/index.html">Functional/Factory</a> - Function object templates for dynamic and static object creation, from Glen Fernandes and Tobias Schwinger</li>
b32b8144 129 <li><a href="functional/forward/index.html">Functional/Forward</a> - Adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger</li>
b32b8144
FG
130 <li><a href="functional/overloaded_function/index.html">Functional/Overloaded Function</a> - Overload different functions into a single function object, from Lorenzo Caminiti</li>
131 <li><a href="fusion/doc/html/index.html">Fusion</a> - Library for working with tuples, including various containers, algorithms, etc, from Joel de Guzman, Dan Marsden and Tobias Schwinger</li>
132 <li><a href="geometry/index.html">Geometry</a> - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas</li>
92f5a8d4
TL
133 <li><a href="gil/index.html">GIL</a> - (C++11) Generic Image Library, from Lubomir Bourdev, Hailin Jin and Christian Henning</li>
134 <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
1e59de90 135 <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
b32b8144
FG
136 <li><a href="hana/index.html">Hana</a> - 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, from Louis Dionne</li>
137 <li><a href="heap/index.html">Heap</a> - Priority queue data structures, from Tim Blechmann</li>
92f5a8d4 138 <li><a href="histogram/index.html">Histogram</a> - Fast multi-dimensional histogram with convenient interface for C++14, from Hans Dembinski</li>
11fdf7f2 139 <li><a href="hof/index.html">HOF</a> - Higher-order functions for C++, from Paul Fultz II</li>
b32b8144
FG
140 <li><a href="icl/index.html">ICL</a> - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber</li>
141 <li><a href="utility/identity_type/index.html">Identity Type</a> - Wrap types within round parenthesis so they can always be passed as macro parameters, from Lorenzo Caminiti</li>
142 <li><a href="utility/in_place_factories.html">In Place Factory, Typed In Place Factory</a> - Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola</li>
143 <li><a href="integer/index.html">Integer</a> - The organization of boost integer headers and classes is designed to take advantage of &lt;stdint.h&gt; types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header &lt;boost/cstdint.hpp&gt; makes the standard integer types safely available in namespace boost without placing any names in namespace std</li>
1e59de90
TL
144 <li><a href="interprocess/index.html">Interprocess</a> - Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga</li>
145 <li><a href="numeric/interval/doc/interval.htm">Interval</a> - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion</li>
146 <li><a href="intrusive/index.html">Intrusive</a> - Intrusive containers and algorithms, from Ion Gaztañaga</li>
f67539c2 147 <li><a href="io/doc/html/io.html">IO</a> - Utilities for the standard I/O library, from Daryle Walker, Beman Dawes and Glen Fernandes</li>
b32b8144
FG
148 <li><a href="iostreams/index.html">Iostreams</a> - Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis</li>
149 <li><a href="iterator/index.html">Iterator</a> - 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, from Dave Abrahams, Jeremy Siek and Thomas Witt</li>
20effc67 150 <li><a href="json/index.html">JSON</a> - JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and Krystian Stasiowski</li>
1e59de90
TL
151 <li><a href="lambda/index.html">Lambda</a> - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi and Gary Powell</li>
152 <li><a href="lambda2/index.html">Lambda2</a> - A C++14 lambda library, from Peter Dimov</li>
153 <li><a href="leaf/index.html">LEAF</a> - A lightweight error handling library for C++11, from Emil Dotchevski</li>
b32b8144
FG
154 <li><a href="lexical_cast/index.html">Lexical Cast</a> - General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney</li>
155 <li><a href="local_function/index.html">Local Function</a> - Program functions locally, within other functions, directly within the scope where they are needed, from Lorenzo Caminiti</li>
156 <li><a href="locale/index.html">Locale</a> - Provide localization and Unicode handling tools for C++, from Artyom Beilis</li>
157 <li><a href="lockfree/index.html">Lockfree</a> - Lockfree data structures, from Tim Blechmann</li>
158 <li><a href="log/index.html">Log</a> - Logging library, from Andrey Semashev</li>
159 <li><a href="math/index.html">Math</a> - 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, from various</li>
160 <li><a href="math/doc/html/gcd_lcm.html">Math Common Factor</a> - Greatest common divisor and least common multiple, from Daryle Walker</li>
161 <li><a href="math/doc/html/octonions.html">Math Octonion</a> - Octonions, from Hubert Holin</li>
162 <li><a href="math/doc/html/quaternions.html">Math Quaternion</a> - Quaternions, from Hubert Holin</li>
163 <li><a href="math/doc/html/special.html">Math/Special Functions</a> - A wide selection of mathematical special functions, from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang</li>
164 <li><a href="math/doc/html/dist.html">Math/Statistical Distributions</a> - A wide selection of univariate statistical distributions and functions that operate on them, from John Maddock and Paul Bristow</li>
165 <li><a href="bind/mem_fn.html">Member Function</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov</li>
166 <li><a href="msm/index.html">Meta State Machine</a> - A very high-performance library for expressive UML2 finite state machines, from Christophe Henry</li>
167 <li><a href="metaparse/index.html">Metaparse</a> - A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process, from Abel Sinkovics</li>
1e59de90
TL
168 <li><a href="algorithm/minmax/index.html">Min-Max</a> - Standard library extensions for simultaneous min/max and min/max element computations, from Hervé Brönnimann</li>
169 <li><a href="move/index.html">Move</a> - Portable move semantics for C++03 and C++11 compilers, from Ion Gaztañaga</li>
b32b8144
FG
170 <li><a href="mp11/index.html">Mp11</a> - A C++11 metaprogramming library, from Peter Dimov</li>
171 <li><a href="mpi/index.html">MPI</a> - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer</li>
172 <li><a href="mpl/index.html">MPL</a> - 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, from Aleksey Gurtovoy</li>
173 <li><a href="multi_array/index.html">Multi-Array</a> - Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface, from Ron Garcia</li>
1e59de90 174 <li><a href="multi_index/index.html">Multi-Index</a> - 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, from Joaquín M López Muñoz</li>
b32b8144 175 <li><a href="multiprecision/index.html">Multiprecision</a> - Extended precision arithmetic types for floating point, integer andrational arithmetic, from John Maddock and Christopher Kormanyos</li>
f67539c2 176 <li><a href="nowide/index.html">Nowide</a> - Standard library functions with UTF-8 API on Windows, from Artyom Beilis</li>
b32b8144
FG
177 <li><a href="numeric/conversion/index.html">Numeric Conversion</a> - Optimized Policy-based Numeric Conversions, from Fernando Cacciola</li>
178 <li><a href="numeric/odeint/index.html">Odeint</a> - Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky</li>
179 <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
1e59de90 180 <li><a href="optional/index.html">Optional</a> - A value-semantic, type-safe wrapper for representing &#39;optional&#39; (or &#39;nullable&#39;) objects of a given type. An optional object may or may not contain a value of the underlying type, from Fernando Cacciola</li>
92f5a8d4 181 <li><a href="outcome/index.html">Outcome</a> - A deterministic failure handling library partially simulating lightweight exceptions, from Niall Douglas</li>
b32b8144 182 <li><a href="parameter/index.html">Parameter</a> - Boost.Parameter Library - Write functions that accept arguments by name, from David Abrahams and Daniel Wallin</li>
92f5a8d4 183 <li><a href="parameter_python/index.html">Parameter Python Bindings</a> - Boost.Parameter Library Python bindings, from David Abrahams and Daniel Wallin</li>
1e59de90 184 <li><a href="pfr/index.html">PFR</a> - Basic reflection for user defined types, from Antony Polukhin</li>
b32b8144
FG
185 <li><a href="phoenix/index.html">Phoenix</a> - Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden, Thomas Heller and John Fletcher</li>
186 <li><a href="ptr_container/index.html">Pointer Container</a> - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen</li>
1e59de90 187 <li><a href="poly_collection/index.html">PolyCollection</a> - Fast containers of polymorphic objects, from Joaquín M López Muñoz</li>
b32b8144
FG
188 <li><a href="polygon/index.html">Polygon</a> - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk</li>
189 <li><a href="pool/index.html">Pool</a> - Memory pool management, from Steve Cleary</li>
1e59de90 190 <li><a href="predef/index.html">Predef</a> - 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, from René Ferdinand Rivera Morell</li>
b32b8144
FG
191 <li><a href="preprocessor/index.html">Preprocessor</a> - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides</li>
192 <li><a href="process/index.html">Process</a> - Library to create processes in a portable way, from Merino Vidal, Ilya Sokolov, Felipe Tanus, Jeff Flinn, Thomas Jarosch, Boris Schaeling and Klemens D. Morgenstern</li>
193 <li><a href="program_options/index.html">Program Options</a> - 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, from Vladimir Prus</li>
194 <li><a href="property_map/index.html">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek</li>
1e59de90 195 <li><a href="property_map_parallel/index.html">Property Map (Parallel)</a> - Parallel extensions to Property Map for use with Parallel Graph, from Jeremy Siek</li>
b32b8144
FG
196 <li><a href="property_tree/index.html">Property Tree</a> - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl</li>
197 <li><a href="proto/index.html">Proto</a> - Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler</li>
198 <li><a href="python/index.html">Python</a> - 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, from Dave Abrahams</li>
1e59de90 199 <li><a href="qvm/index.html">QVM</a> - Generic C++ library for working with Quaternions Vectors and Matrices, from Emil Dotchevski</li>
b32b8144
FG
200 <li><a href="random/index.html">Random</a> - A complete system for random number generation, from Jens Maurer</li>
201 <li><a href="range/index.html">Range</a> - A new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Niel Groves and Thorsten Ottosen</li>
202 <li><a href="ratio/index.html">Ratio</a> - Compile time rational arithmetic. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
203 <li><a href="rational/index.html">Rational</a> - A rational number class, from Paul Moore</li>
1e59de90 204 <li><a href="core/ref.html">Ref</a> - A utility library for passing references to generic functions, from Jaako Järvi, Peter Dimov, Doug Gregor and Dave Abrahams</li>
b32b8144
FG
205 <li><a href="regex/index.html">Regex</a> - Regular expression library, from John Maddock</li>
206 <li><a href="utility/utility.htm#result_of">Result Of</a> - Determines the type of a function call expression</li>
92f5a8d4 207 <li><a href="safe_numerics/index.html">Safe Numerics</a> - Guaranteed Correct Integer Arithmetic, from Robert Ramey</li>
b32b8144
FG
208 <li><a href="scope_exit/index.html">Scope Exit</a> - Execute arbitrary code at scope exit, from Alexander Nasonov</li>
209 <li><a href="serialization/index.html">Serialization</a> - Serialization for persistence and marshalling, from Robert Ramey</li>
b32b8144
FG
210 <li><a href="signals2/index.html">Signals2</a> - Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess</li>
211 <li><a href="smart_ptr/index.html">Smart Ptr</a> - Smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, Darin Adler and Glen Fernandes</li>
212 <li><a href="sort/index.html">Sort</a> - High-performance templated sort functions, from Steven Ross</li>
213 <li><a href="spirit/index.html">Spirit</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
92f5a8d4
TL
214 <li><a href="spirit/classic/index.html">Spirit Classic</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
215 <li><a href="spirit/repository/index.html">Spirit Repository</a> - The Spirit repository is a community effort collecting different reusable components (primitives, directives, grammars, etc.) for Qi parsers and Karma generators, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
b32b8144 216 <li><a href="stacktrace/index.html">Stacktrace</a> - Gather, store, copy and print backtraces, from Antony Polukhin</li>
1e59de90 217 <li><a href="statechart/index.html">Statechart</a> - Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber Dönni</li>
b32b8144 218 <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
f67539c2 219 <li><a href="static_string/index.html">Static String</a> - A fixed capacity dynamically sized string, from Krystian Stasiowski and Vinnie Falco</li>
1e59de90 220 <li><a href="stl_interfaces/index.html">stl_interfaces</a> - C++14 and later CRTP templates for defining iterators, views, and containers, from T. Zachary Laine</li>
b32b8144 221 <li><a href="algorithm/string/index.html">String Algo</a> - String algorithms library, from Pavol Droba</li>
92f5a8d4 222 <li><a href="utility/doc/html/string_ref.html">String_ref</a> - String view templates, from Marshall Clow</li>
b32b8144 223 <li><a href="core/swap.html">Swap</a> - Enhanced generic swap function, from Joseph Gauterin</li>
1e59de90 224 <li><a href="system/index.html">System</a> - Extensible error reporting, from Beman Dawes</li>
b32b8144 225 <li><a href="test/index.html">Test</a> - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental and Raffi Enficiaud</li>
92f5a8d4 226 <li><a href="thread/index.html">Thread</a> - Portable C++ multi-threading. C++03, C++11, C++14, C++17, from Anthony Williams and Vicente J. Botet Escriba</li>
f67539c2 227 <li><a href="throw_exception/index.html">ThrowException</a> - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski and Peter Dimov</li>
b32b8144
FG
228 <li><a href="timer/index.html">Timer</a> - Event timer, progress timer, and progress display classes, from Beman Dawes</li>
229 <li><a href="tokenizer/index.html">Tokenizer</a> - Break of a string or other character sequence into a series of tokens, from John Bandela</li>
230 <li><a href="../doc/html/tribool.html">Tribool</a> - 3-state boolean type library, from Doug Gregor</li>
231 <li><a href="tti/index.html">TTI</a> - Type Traits Introspection library, from Edward Diener</li>
1e59de90 232 <li><a href="tuple/index.html">Tuple</a> - Ease definition of functions returning multiple values, and more, from Jaakko Järvi</li>
b32b8144
FG
233 <li><a href="type_erasure/index.html">Type Erasure</a> - Runtime polymorphism based on concepts, from Steven Watanabe</li>
234 <li><a href="type_index/index.html">Type Index</a> - Runtime/Compile time copyable type info, from Antony Polukhin</li>
235 <li><a href="type_traits/index.html">Type Traits</a> - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al</li>
236 <li><a href="typeof/index.html">Typeof</a> - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt</li>
92f5a8d4 237 <li><a href="numeric/ublas/index.html">uBLAS</a> - uBLAS provides tensor, matrix, and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported, from Joerg Walter and Mathias Koch</li>
b32b8144
FG
238 <li><a href="units/index.html">Units</a> - Zero-overhead dimensional analysis and unit/quantity manipulation and conversion, from Matthias Schabel and Steven Watanabe</li>
239 <li><a href="unordered/index.html">Unordered</a> - Unordered associative containers, from Daniel James</li>
240 <li><a href="utility/utility.htm">Utility</a> - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others</li>
241 <li><a href="uuid/index.html">Uuid</a> - A universally unique identifier, from Andy Tompkins</li>
242 <li><a href="utility/value_init.htm">Value Initialized</a> - Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams, from Fernando Cacciola</li>
243 <li><a href="variant/index.html">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman</li>
92f5a8d4 244 <li><a href="variant2/index.html">Variant2</a> - A never-valueless, strong guarantee implementation of std::variant, from Peter Dimov</li>
b32b8144
FG
245 <li><a href="vmd/index.html">VMD</a> - Variadic Macro Data library, from Edward Diener</li>
246 <li><a href="wave/index.html">Wave</a> - 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, from Hartmut Kaiser</li>
247 <li><a href="xpressive/index.html">Xpressive</a> - 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, from Eric Niebler</li>
92f5a8d4 248 <li><a href="yap/index.html">YAP</a> - An expression template library for C++14 and later, from T. Zachary Laine</li>
7c673cae
FG
249</ul>
250
251<hr>
252
253<h2>Libraries Listed by <a name="Category">Category</a></h2>
254
b32b8144 255<h3><a name="Algorithms">Algorithms</a></h3>
7c673cae
FG
256
257<ul>
b32b8144 258 <li><a href="algorithm/index.html">Algorithm</a> - A collection of useful generic algorithms, from Marshall Clow</li>
1e59de90 259 <li><a href="foreach/index.html">Foreach</a> - 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 &#34;foreach&#34; 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, from Eric Niebler</li>
b32b8144 260 <li><a href="geometry/index.html">Geometry</a> - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas</li>
92f5a8d4
TL
261 <li><a href="gil/index.html">GIL</a> - (C++11) Generic Image Library, from Lubomir Bourdev, Hailin Jin and Christian Henning</li>
262 <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
1e59de90 263 <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
92f5a8d4 264 <li><a href="histogram/index.html">Histogram</a> - Fast multi-dimensional histogram with convenient interface for C++14, from Hans Dembinski</li>
1e59de90 265 <li><a href="algorithm/minmax/index.html">Min-Max</a> - Standard library extensions for simultaneous min/max and min/max element computations, from Hervé Brönnimann</li>
b32b8144 266 <li><a href="polygon/index.html">Polygon</a> - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk</li>
1e59de90 267 <li><a href="qvm/index.html">QVM</a> - Generic C++ library for working with Quaternions Vectors and Matrices, from Emil Dotchevski</li>
b32b8144
FG
268 <li><a href="range/index.html">Range</a> - A new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Niel Groves and Thorsten Ottosen</li>
269 <li><a href="sort/index.html">Sort</a> - High-performance templated sort functions, from Steven Ross</li>
270 <li><a href="algorithm/string/index.html">String Algo</a> - String algorithms library, from Pavol Droba</li>
271 <li><a href="utility/utility.htm">Utility</a> - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others</li>
272</ul>
273
274<h3><a name="Workarounds">Broken compiler workarounds</a></h3>
275
276<ul>
277 <li><a href="compatibility/index.html">Compatibility</a> - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer</li>
f67539c2 278 <li><a href="config/doc/html/index.html">Config</a> - Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users</li>
b32b8144
FG
279</ul>
280
281<h3><a name="Concurrent">Concurrent Programming</a></h3>
282
283<ul>
284 <li><a href="asio/index.html">Asio</a> - Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff</li>
285 <li><a href="atomic/index.html">Atomic</a> - C++11-style atomic&lt;&gt;, from Helge Bahmann, Tim Blechmann and Andrey Semashev</li>
286 <li><a href="beast/index.html">Beast</a> - Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco</li>
287 <li><a href="compute/index.html">Compute</a> - Parallel/GPU-computing library, from Kyle Lutz</li>
288 <li><a href="context/index.html">Context</a> - (C++11) Context switching library, from Oliver Kowalke</li>
289 <li><a href="coroutine/index.html">Coroutine</a> - Coroutine library, from Oliver Kowalke</li>
290 <li><a href="coroutine2/index.html">Coroutine2</a> - (C++11) Coroutine library, from Oliver Kowalke</li>
291 <li><a href="fiber/index.html">Fiber</a> - (C++11) Userland threads library, from Oliver Kowalke</li>
1e59de90 292 <li><a href="interprocess/index.html">Interprocess</a> - Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga</li>
b32b8144
FG
293 <li><a href="lockfree/index.html">Lockfree</a> - Lockfree data structures, from Tim Blechmann</li>
294 <li><a href="mpi/index.html">MPI</a> - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer</li>
92f5a8d4 295 <li><a href="thread/index.html">Thread</a> - Portable C++ multi-threading. C++03, C++11, C++14, C++17, from Anthony Williams and Vicente J. Botet Escriba</li>
b32b8144
FG
296</ul>
297
298<h3><a name="Containers">Containers</a></h3>
299
300<ul>
301 <li><a href="array/index.html">Array</a> - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis</li>
302 <li><a href="bimap/index.html">Bimap</a> - Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto</li>
303 <li><a href="circular_buffer/index.html">Circular Buffer</a> - A STL compliant container also known as ring or cyclic buffer, from Jan Gaspar</li>
1e59de90 304 <li><a href="container/index.html">Container</a> - Standard library containers and extensions, from Ion Gaztañaga</li>
b32b8144 305 <li><a href="dynamic_bitset/dynamic_bitset.html">Dynamic Bitset</a> - 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&amp; and operator&lt;&lt;. The number of bits in the set is specified at runtime via a parameter to the constructor of the dynamic_bitset, from Jeremy Siek and Chuck Allison</li>
92f5a8d4
TL
306 <li><a href="gil/index.html">GIL</a> - (C++11) Generic Image Library, from Lubomir Bourdev, Hailin Jin and Christian Henning</li>
307 <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
1e59de90 308 <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
b32b8144 309 <li><a href="icl/index.html">ICL</a> - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber</li>
1e59de90 310 <li><a href="intrusive/index.html">Intrusive</a> - Intrusive containers and algorithms, from Ion Gaztañaga</li>
20effc67 311 <li><a href="json/index.html">JSON</a> - JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and Krystian Stasiowski</li>
b32b8144 312 <li><a href="multi_array/index.html">Multi-Array</a> - Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface, from Ron Garcia</li>
1e59de90 313 <li><a href="multi_index/index.html">Multi-Index</a> - 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, from Joaquín M López Muñoz</li>
b32b8144 314 <li><a href="ptr_container/index.html">Pointer Container</a> - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen</li>
1e59de90 315 <li><a href="poly_collection/index.html">PolyCollection</a> - Fast containers of polymorphic objects, from Joaquín M López Muñoz</li>
b32b8144 316 <li><a href="property_map/index.html">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek</li>
1e59de90 317 <li><a href="property_map_parallel/index.html">Property Map (Parallel)</a> - Parallel extensions to Property Map for use with Parallel Graph, from Jeremy Siek</li>
b32b8144 318 <li><a href="property_tree/index.html">Property Tree</a> - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl</li>
92f5a8d4 319 <li><a href="utility/doc/html/string_ref.html">String_ref</a> - String view templates, from Marshall Clow</li>
b32b8144
FG
320 <li><a href="unordered/index.html">Unordered</a> - Unordered associative containers, from Daniel James</li>
321 <li><a href="variant/index.html">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman</li>
92f5a8d4 322 <li><a href="variant2/index.html">Variant2</a> - A never-valueless, strong guarantee implementation of std::variant, from Peter Dimov</li>
b32b8144
FG
323</ul>
324
325<h3><a name="Correctness">Correctness and testing</a></h3>
326
327<ul>
328 <li><a href="assert/index.html">Assert</a> - Customizable assert macros, from Peter Dimov</li>
329 <li><a href="concept_check/index.html">Concept Check</a> - Tools for generic programming, from Jeremy Siek</li>
11fdf7f2 330 <li><a href="contract/index.html">Contract</a> - 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, from Lorenzo Caminiti</li>
92f5a8d4 331 <li><a href="safe_numerics/index.html">Safe Numerics</a> - Guaranteed Correct Integer Arithmetic, from Robert Ramey</li>
b32b8144
FG
332 <li><a href="stacktrace/index.html">Stacktrace</a> - Gather, store, copy and print backtraces, from Antony Polukhin</li>
333 <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
334 <li><a href="test/index.html">Test</a> - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental and Raffi Enficiaud</li>
335</ul>
336
337<h3><a name="Data">Data structures</a></h3>
338
339<ul>
340 <li><a href="any/index.html">Any</a> - Safe, generic container for single values of different value types, from Kevlin Henney</li>
341 <li><a href="bimap/index.html">Bimap</a> - Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto</li>
342 <li><a href="utility/compressed_pair.htm">Compressed Pair</a> - Empty member optimization, from John Maddock, Howard Hinnant, et al</li>
1e59de90 343 <li><a href="container/index.html">Container</a> - Standard library containers and extensions, from Ion Gaztañaga</li>
b32b8144
FG
344 <li><a href="fusion/doc/html/index.html">Fusion</a> - Library for working with tuples, including various containers, algorithms, etc, from Joel de Guzman, Dan Marsden and Tobias Schwinger</li>
345 <li><a href="geometry/index.html">Geometry</a> - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas</li>
346 <li><a href="heap/index.html">Heap</a> - Priority queue data structures, from Tim Blechmann</li>
92f5a8d4 347 <li><a href="histogram/index.html">Histogram</a> - Fast multi-dimensional histogram with convenient interface for C++14, from Hans Dembinski</li>
b32b8144 348 <li><a href="icl/index.html">ICL</a> - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber</li>
20effc67 349 <li><a href="json/index.html">JSON</a> - JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and Krystian Stasiowski</li>
1e59de90
TL
350 <li><a href="multi_index/index.html">Multi-Index</a> - 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, from Joaquín M López Muñoz</li>
351 <li><a href="optional/index.html">Optional</a> - A value-semantic, type-safe wrapper for representing &#39;optional&#39; (or &#39;nullable&#39;) objects of a given type. An optional object may or may not contain a value of the underlying type, from Fernando Cacciola</li>
352 <li><a href="pfr/index.html">PFR</a> - Basic reflection for user defined types, from Antony Polukhin</li>
b32b8144
FG
353 <li><a href="ptr_container/index.html">Pointer Container</a> - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen</li>
354 <li><a href="polygon/index.html">Polygon</a> - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk</li>
355 <li><a href="property_tree/index.html">Property Tree</a> - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl</li>
1e59de90 356 <li><a href="tuple/index.html">Tuple</a> - Ease definition of functions returning multiple values, and more, from Jaakko Järvi</li>
b32b8144
FG
357 <li><a href="type_erasure/index.html">Type Erasure</a> - Runtime polymorphism based on concepts, from Steven Watanabe</li>
358 <li><a href="uuid/index.html">Uuid</a> - A universally unique identifier, from Andy Tompkins</li>
359 <li><a href="variant/index.html">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman</li>
92f5a8d4 360 <li><a href="variant2/index.html">Variant2</a> - A never-valueless, strong guarantee implementation of std::variant, from Peter Dimov</li>
b32b8144
FG
361</ul>
362
363<h3><a name="Domain">Domain Specific</a></h3>
364
365<ul>
366 <li><a href="chrono/index.html">Chrono</a> - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
367 <li><a href="crc/index.html">CRC</a> - 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, from Daryle Walker</li>
368 <li><a href="date_time/index.html">Date Time</a> - A set of date-time libraries based on generic programming concepts, from Jeff Garland</li>
369 <li><a href="units/index.html">Units</a> - Zero-overhead dimensional analysis and unit/quantity manipulation and conversion, from Matthias Schabel and Steven Watanabe</li>
370 <li><a href="uuid/index.html">Uuid</a> - A universally unique identifier, from Andy Tompkins</li>
371</ul>
372
1e59de90
TL
373<h3><a name="Error-handling">Error handling and recovery</a></h3>
374
375<ul>
376 <li><a href="assert/index.html">Assert</a> - Customizable assert macros, from Peter Dimov</li>
377 <li><a href="leaf/index.html">LEAF</a> - A lightweight error handling library for C++11, from Emil Dotchevski</li>
378 <li><a href="system/index.html">System</a> - Extensible error reporting, from Beman Dawes</li>
379 <li><a href="throw_exception/index.html">ThrowException</a> - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski and Peter Dimov</li>
380</ul>
381
b32b8144
FG
382<h3><a name="Function-objects">Function objects and higher-order programming</a></h3>
383
384<ul>
385 <li><a href="bind/index.html">Bind</a> - 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, from Peter Dimov</li>
11fdf7f2 386 <li><a href="container_hash/index.html">Container Hash</a> - An STL-compatible hash function object that can be extended to hash user defined types, from Daniel James</li>
b32b8144
FG
387 <li><a href="function/index.html">Function</a> - Function object wrappers for deferred calls or callbacks, from Doug Gregor</li>
388 <li><a href="functional/index.html">Functional</a> - The Boost.Function library contains a family of class templates that are function object wrappers, from Mark Rodgers</li>
92f5a8d4 389 <li><a href="functional/factory/index.html">Functional/Factory</a> - Function object templates for dynamic and static object creation, from Glen Fernandes and Tobias Schwinger</li>
b32b8144 390 <li><a href="functional/forward/index.html">Functional/Forward</a> - Adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger</li>
b32b8144 391 <li><a href="functional/overloaded_function/index.html">Functional/Overloaded Function</a> - Overload different functions into a single function object, from Lorenzo Caminiti</li>
11fdf7f2 392 <li><a href="hof/index.html">HOF</a> - Higher-order functions for C++, from Paul Fultz II</li>
1e59de90
TL
393 <li><a href="lambda/index.html">Lambda</a> - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi and Gary Powell</li>
394 <li><a href="lambda2/index.html">Lambda2</a> - A C++14 lambda library, from Peter Dimov</li>
b32b8144
FG
395 <li><a href="local_function/index.html">Local Function</a> - Program functions locally, within other functions, directly within the scope where they are needed, from Lorenzo Caminiti</li>
396 <li><a href="bind/mem_fn.html">Member Function</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov</li>
397 <li><a href="phoenix/index.html">Phoenix</a> - Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden, Thomas Heller and John Fletcher</li>
1e59de90 398 <li><a href="core/ref.html">Ref</a> - A utility library for passing references to generic functions, from Jaako Järvi, Peter Dimov, Doug Gregor and Dave Abrahams</li>
b32b8144 399 <li><a href="utility/utility.htm#result_of">Result Of</a> - Determines the type of a function call expression</li>
b32b8144
FG
400 <li><a href="signals2/index.html">Signals2</a> - Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess</li>
401 <li><a href="utility/utility.htm">Utility</a> - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others</li>
402</ul>
403
404<h3><a name="Generic">Generic Programming</a></h3>
405
406<ul>
407 <li><a href="utility/call_traits.htm">Call Traits</a> - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al</li>
408 <li><a href="concept_check/index.html">Concept Check</a> - Tools for generic programming, from Jeremy Siek</li>
1e59de90 409 <li><a href="core/doc/html/core/enable_if.html">Enable If</a> - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock and Andrew Lumsdaine</li>
b32b8144 410 <li><a href="function_types/index.html">Function Types</a> - Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types, from Tobias Schwinger</li>
92f5a8d4 411 <li><a href="gil/index.html">GIL</a> - (C++11) Generic Image Library, from Lubomir Bourdev, Hailin Jin and Christian Henning</li>
b32b8144
FG
412 <li><a href="utility/in_place_factories.html">In Place Factory, Typed In Place Factory</a> - Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola</li>
413 <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
414 <li><a href="property_map/index.html">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek</li>
1e59de90
TL
415 <li><a href="property_map_parallel/index.html">Property Map (Parallel)</a> - Parallel extensions to Property Map for use with Parallel Graph, from Jeremy Siek</li>
416 <li><a href="qvm/index.html">QVM</a> - Generic C++ library for working with Quaternions Vectors and Matrices, from Emil Dotchevski</li>
b32b8144 417 <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
1e59de90 418 <li><a href="stl_interfaces/index.html">stl_interfaces</a> - C++14 and later CRTP templates for defining iterators, views, and containers, from T. Zachary Laine</li>
b32b8144
FG
419 <li><a href="tti/index.html">TTI</a> - Type Traits Introspection library, from Edward Diener</li>
420 <li><a href="type_traits/index.html">Type Traits</a> - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al</li>
92f5a8d4 421 <li><a href="yap/index.html">YAP</a> - An expression template library for C++14 and later, from T. Zachary Laine</li>
b32b8144
FG
422</ul>
423
424<h3><a name="Image-processing">Image processing</a></h3>
425
426<ul>
92f5a8d4 427 <li><a href="gil/index.html">GIL</a> - (C++11) Generic Image Library, from Lubomir Bourdev, Hailin Jin and Christian Henning</li>
b32b8144
FG
428</ul>
429
430<h3><a name="IO">Input/Output</a></h3>
431
432<ul>
433 <li><a href="asio/index.html">Asio</a> - Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff</li>
434 <li><a href="assign/index.html">Assign</a> - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen</li>
435 <li><a href="beast/index.html">Beast</a> - Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco</li>
436 <li><a href="endian/index.html">Endian</a> - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes</li>
437 <li><a href="format/index.html">Format</a> - The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string, from Samuel Krempp</li>
f67539c2 438 <li><a href="io/doc/html/io.html">IO</a> - Utilities for the standard I/O library, from Daryle Walker, Beman Dawes and Glen Fernandes</li>
b32b8144 439 <li><a href="iostreams/index.html">Iostreams</a> - Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis</li>
20effc67 440 <li><a href="json/index.html">JSON</a> - JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and Krystian Stasiowski</li>
b32b8144
FG
441 <li><a href="program_options/index.html">Program Options</a> - 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, from Vladimir Prus</li>
442 <li><a href="serialization/index.html">Serialization</a> - Serialization for persistence and marshalling, from Robert Ramey</li>
443</ul>
444
445<h3><a name="Inter-language">Inter-language support</a></h3>
446
447<ul>
448 <li><a href="python/index.html">Python</a> - 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, from Dave Abrahams</li>
449</ul>
450
451<h3><a name="Iterators">Iterators</a></h3>
452
453<ul>
92f5a8d4
TL
454 <li><a href="gil/index.html">GIL</a> - (C++11) Generic Image Library, from Lubomir Bourdev, Hailin Jin and Christian Henning</li>
455 <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
1e59de90 456 <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
b32b8144
FG
457 <li><a href="iterator/index.html">Iterator</a> - 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, from Dave Abrahams, Jeremy Siek and Thomas Witt</li>
458 <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
459 <li><a href="tokenizer/index.html">Tokenizer</a> - Break of a string or other character sequence into a series of tokens, from John Bandela</li>
460</ul>
461
462<h3><a name="Emulation">Language Features Emulation</a></h3>
463
464<ul>
1e59de90 465 <li><a href="describe/index.html">Describe</a> - A C++14 reflection library, from Peter Dimov</li>
b32b8144 466 <li><a href="exception/doc/boost-exception.html">Exception</a> - The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads, from Emil Dotchevski</li>
1e59de90
TL
467 <li><a href="foreach/index.html">Foreach</a> - 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 &#34;foreach&#34; 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, from Eric Niebler</li>
468 <li><a href="move/index.html">Move</a> - Portable move semantics for C++03 and C++11 compilers, from Ion Gaztañaga</li>
92f5a8d4 469 <li><a href="outcome/index.html">Outcome</a> - A deterministic failure handling library partially simulating lightweight exceptions, from Niall Douglas</li>
b32b8144 470 <li><a href="parameter/index.html">Parameter</a> - Boost.Parameter Library - Write functions that accept arguments by name, from David Abrahams and Daniel Wallin</li>
92f5a8d4 471 <li><a href="parameter_python/index.html">Parameter Python Bindings</a> - Boost.Parameter Library Python bindings, from David Abrahams and Daniel Wallin</li>
b32b8144 472 <li><a href="scope_exit/index.html">Scope Exit</a> - Execute arbitrary code at scope exit, from Alexander Nasonov</li>
1e59de90 473 <li><a href="throw_exception/index.html">ThrowException</a> - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski and Peter Dimov</li>
b32b8144
FG
474 <li><a href="type_index/index.html">Type Index</a> - Runtime/Compile time copyable type info, from Antony Polukhin</li>
475 <li><a href="typeof/index.html">Typeof</a> - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt</li>
476</ul>
477
478<h3><a name="Math">Math and numerics</a></h3>
479
480<ul>
481 <li><a href="accumulators/index.html">Accumulators</a> - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler</li>
482 <li><a href="endian/index.html">Endian</a> - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes</li>
483 <li><a href="geometry/index.html">Geometry</a> - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas</li>
92f5a8d4 484 <li><a href="histogram/index.html">Histogram</a> - Fast multi-dimensional histogram with convenient interface for C++14, from Hans Dembinski</li>
b32b8144 485 <li><a href="integer/index.html">Integer</a> - The organization of boost integer headers and classes is designed to take advantage of &lt;stdint.h&gt; types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header &lt;boost/cstdint.hpp&gt; makes the standard integer types safely available in namespace boost without placing any names in namespace std</li>
1e59de90 486 <li><a href="numeric/interval/doc/interval.htm">Interval</a> - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion</li>
b32b8144
FG
487 <li><a href="math/index.html">Math</a> - 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, from various</li>
488 <li><a href="math/doc/html/gcd_lcm.html">Math Common Factor</a> - Greatest common divisor and least common multiple, from Daryle Walker</li>
489 <li><a href="math/doc/html/octonions.html">Math Octonion</a> - Octonions, from Hubert Holin</li>
490 <li><a href="math/doc/html/quaternions.html">Math Quaternion</a> - Quaternions, from Hubert Holin</li>
491 <li><a href="math/doc/html/special.html">Math/Special Functions</a> - A wide selection of mathematical special functions, from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang</li>
492 <li><a href="math/doc/html/dist.html">Math/Statistical Distributions</a> - A wide selection of univariate statistical distributions and functions that operate on them, from John Maddock and Paul Bristow</li>
493 <li><a href="multi_array/index.html">Multi-Array</a> - Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface, from Ron Garcia</li>
494 <li><a href="multiprecision/index.html">Multiprecision</a> - Extended precision arithmetic types for floating point, integer andrational arithmetic, from John Maddock and Christopher Kormanyos</li>
495 <li><a href="numeric/conversion/index.html">Numeric Conversion</a> - Optimized Policy-based Numeric Conversions, from Fernando Cacciola</li>
496 <li><a href="numeric/odeint/index.html">Odeint</a> - Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky</li>
497 <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
498 <li><a href="polygon/index.html">Polygon</a> - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk</li>
1e59de90 499 <li><a href="qvm/index.html">QVM</a> - Generic C++ library for working with Quaternions Vectors and Matrices, from Emil Dotchevski</li>
b32b8144
FG
500 <li><a href="random/index.html">Random</a> - A complete system for random number generation, from Jens Maurer</li>
501 <li><a href="ratio/index.html">Ratio</a> - Compile time rational arithmetic. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
502 <li><a href="rational/index.html">Rational</a> - A rational number class, from Paul Moore</li>
92f5a8d4
TL
503 <li><a href="safe_numerics/index.html">Safe Numerics</a> - Guaranteed Correct Integer Arithmetic, from Robert Ramey</li>
504 <li><a href="numeric/ublas/index.html">uBLAS</a> - uBLAS provides tensor, matrix, and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported, from Joerg Walter and Mathias Koch</li>
b32b8144
FG
505</ul>
506
507<h3><a name="Memory">Memory</a></h3>
508
509<ul>
92f5a8d4 510 <li><a href="align/index.html">Align</a> - Memory alignment functions, allocators, traits, from Glen Fernandes</li>
b32b8144
FG
511 <li><a href="pool/index.html">Pool</a> - Memory pool management, from Steve Cleary</li>
512 <li><a href="smart_ptr/index.html">Smart Ptr</a> - Smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, Darin Adler and Glen Fernandes</li>
513 <li><a href="utility/utility.htm">Utility</a> - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others</li>
514</ul>
515
516<h3><a name="Parsing">Parsing</a></h3>
517
518<ul>
519 <li><a href="spirit/index.html">Spirit</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
92f5a8d4
TL
520 <li><a href="spirit/classic/index.html">Spirit Classic</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
521 <li><a href="spirit/repository/index.html">Spirit Repository</a> - The Spirit repository is a community effort collecting different reusable components (primitives, directives, grammars, etc.) for Qi parsers and Karma generators, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
b32b8144
FG
522</ul>
523
524<h3><a name="Patterns">Patterns and Idioms</a></h3>
525
526<ul>
527 <li><a href="utility/compressed_pair.htm">Compressed Pair</a> - Empty member optimization, from John Maddock, Howard Hinnant, et al</li>
1e59de90 528 <li><a href="flyweight/index.html">Flyweight</a> - Design pattern to manage large quantities of highly redundant objects, from Joaquín M López Muñoz</li>
92f5a8d4 529 <li><a href="outcome/index.html">Outcome</a> - A deterministic failure handling library partially simulating lightweight exceptions, from Niall Douglas</li>
b32b8144
FG
530 <li><a href="signals2/index.html">Signals2</a> - Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess</li>
531 <li><a href="utility/utility.htm">Utility</a> - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others</li>
532</ul>
533
534<h3><a name="Preprocessor">Preprocessor Metaprogramming</a></h3>
535
536<ul>
537 <li><a href="utility/identity_type/index.html">Identity Type</a> - Wrap types within round parenthesis so they can always be passed as macro parameters, from Lorenzo Caminiti</li>
538 <li><a href="preprocessor/index.html">Preprocessor</a> - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides</li>
539 <li><a href="vmd/index.html">VMD</a> - Variadic Macro Data library, from Edward Diener</li>
540</ul>
541
542<h3><a name="Programming">Programming Interfaces</a></h3>
543
544<ul>
545 <li><a href="function/index.html">Function</a> - Function object wrappers for deferred calls or callbacks, from Doug Gregor</li>
92f5a8d4 546 <li><a href="outcome/index.html">Outcome</a> - A deterministic failure handling library partially simulating lightweight exceptions, from Niall Douglas</li>
b32b8144 547 <li><a href="parameter/index.html">Parameter</a> - Boost.Parameter Library - Write functions that accept arguments by name, from David Abrahams and Daniel Wallin</li>
92f5a8d4 548 <li><a href="parameter_python/index.html">Parameter Python Bindings</a> - Boost.Parameter Library Python bindings, from David Abrahams and Daniel Wallin</li>
1e59de90 549 <li><a href="system/index.html">System</a> - Extensible error reporting, from Beman Dawes</li>
b32b8144
FG
550</ul>
551
552<h3><a name="State">State Machines</a></h3>
553
554<ul>
555 <li><a href="msm/index.html">Meta State Machine</a> - A very high-performance library for expressive UML2 finite state machines, from Christophe Henry</li>
1e59de90 556 <li><a href="statechart/index.html">Statechart</a> - Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber Dönni</li>
b32b8144
FG
557</ul>
558
559<h3><a name="String">String and text processing</a></h3>
560
561<ul>
562 <li><a href="convert/index.html">Convert</a> - An extendible and configurable type-conversion framework, from Vladimir Batov</li>
563 <li><a href="format/index.html">Format</a> - The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string, from Samuel Krempp</li>
564 <li><a href="iostreams/index.html">Iostreams</a> - Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis</li>
565 <li><a href="lexical_cast/index.html">Lexical Cast</a> - General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney</li>
566 <li><a href="locale/index.html">Locale</a> - Provide localization and Unicode handling tools for C++, from Artyom Beilis</li>
567 <li><a href="regex/index.html">Regex</a> - Regular expression library, from John Maddock</li>
568 <li><a href="spirit/index.html">Spirit</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
92f5a8d4
TL
569 <li><a href="spirit/classic/index.html">Spirit Classic</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
570 <li><a href="spirit/repository/index.html">Spirit Repository</a> - The Spirit repository is a community effort collecting different reusable components (primitives, directives, grammars, etc.) for Qi parsers and Karma generators, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer</li>
f67539c2 571 <li><a href="static_string/index.html">Static String</a> - A fixed capacity dynamically sized string, from Krystian Stasiowski and Vinnie Falco</li>
b32b8144
FG
572 <li><a href="algorithm/string/index.html">String Algo</a> - String algorithms library, from Pavol Droba</li>
573 <li><a href="tokenizer/index.html">Tokenizer</a> - Break of a string or other character sequence into a series of tokens, from John Bandela</li>
574 <li><a href="wave/index.html">Wave</a> - 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, from Hartmut Kaiser</li>
575 <li><a href="xpressive/index.html">Xpressive</a> - 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, from Eric Niebler</li>
576</ul>
577
578<h3><a name="System">System</a></h3>
579
580<ul>
581 <li><a href="chrono/index.html">Chrono</a> - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
582 <li><a href="context/index.html">Context</a> - (C++11) Context switching library, from Oliver Kowalke</li>
583 <li><a href="date_time/index.html">Date Time</a> - A set of date-time libraries based on generic programming concepts, from Jeff Garland</li>
584 <li><a href="dll/index.html">DLL</a> - Library for comfortable work with DLL and DSO, from Antony Polukhin and Renato Tegon Forti</li>
585 <li><a href="fiber/index.html">Fiber</a> - (C++11) Userland threads library, from Oliver Kowalke</li>
586 <li><a href="filesystem/index.html">Filesystem</a> - The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories, from Beman Dawes</li>
f67539c2 587 <li><a href="nowide/index.html">Nowide</a> - Standard library functions with UTF-8 API on Windows, from Artyom Beilis</li>
b32b8144
FG
588 <li><a href="process/index.html">Process</a> - Library to create processes in a portable way, from Merino Vidal, Ilya Sokolov, Felipe Tanus, Jeff Flinn, Thomas Jarosch, Boris Schaeling and Klemens D. Morgenstern</li>
589 <li><a href="stacktrace/index.html">Stacktrace</a> - Gather, store, copy and print backtraces, from Antony Polukhin</li>
1e59de90 590 <li><a href="system/index.html">System</a> - Extensible error reporting, from Beman Dawes</li>
92f5a8d4 591 <li><a href="thread/index.html">Thread</a> - Portable C++ multi-threading. C++03, C++11, C++14, C++17, from Anthony Williams and Vicente J. Botet Escriba</li>
b32b8144
FG
592</ul>
593
1e59de90 594<h3><a name="Metaprogramming">Template Metaprogramming</a></h3>
b32b8144
FG
595
596<ul>
1e59de90
TL
597 <li><a href="callable_traits/index.html">CallableTraits</a> - A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only C++11 library for the compile-time inspection and manipulation of all &#39;callable&#39; types. Additional support for C++17 features, from Barrett Adair</li>
598 <li><a href="describe/index.html">Describe</a> - A C++14 reflection library, from Peter Dimov</li>
b32b8144
FG
599 <li><a href="function_types/index.html">Function Types</a> - Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types, from Tobias Schwinger</li>
600 <li><a href="fusion/doc/html/index.html">Fusion</a> - Library for working with tuples, including various containers, algorithms, etc, from Joel de Guzman, Dan Marsden and Tobias Schwinger</li>
601 <li><a href="hana/index.html">Hana</a> - 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, from Louis Dionne</li>
11fdf7f2 602 <li><a href="hof/index.html">HOF</a> - Higher-order functions for C++, from Paul Fultz II</li>
b32b8144
FG
603 <li><a href="metaparse/index.html">Metaparse</a> - A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process, from Abel Sinkovics</li>
604 <li><a href="mp11/index.html">Mp11</a> - A C++11 metaprogramming library, from Peter Dimov</li>
605 <li><a href="mpl/index.html">MPL</a> - 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, from Aleksey Gurtovoy</li>
1e59de90 606 <li><a href="pfr/index.html">PFR</a> - Basic reflection for user defined types, from Antony Polukhin</li>
b32b8144
FG
607 <li><a href="proto/index.html">Proto</a> - Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler</li>
608 <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
609 <li><a href="tti/index.html">TTI</a> - Type Traits Introspection library, from Edward Diener</li>
610 <li><a href="type_traits/index.html">Type Traits</a> - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al</li>
92f5a8d4 611 <li><a href="yap/index.html">YAP</a> - An expression template library for C++14 and later, from T. Zachary Laine</li>
b32b8144
FG
612</ul>
613
614<h3><a name="Miscellaneous">Miscellaneous</a></h3>
615
616<ul>
617 <li><a href="conversion/index.html">Conversion</a> - Polymorphic casts, from Dave Abrahams and Kevlin Henney</li>
618 <li><a href="convert/index.html">Convert</a> - An extendible and configurable type-conversion framework, from Vladimir Batov</li>
619 <li><a href="core/index.html">Core</a> - A collection of simple core utilities with minimal dependencies, from Peter Dimov, Glen Fernandes and Andrey Semashev</li>
620 <li><a href="endian/index.html">Endian</a> - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes</li>
621 <li><a href="lexical_cast/index.html">Lexical Cast</a> - General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney</li>
622 <li><a href="log/index.html">Log</a> - Logging library, from Andrey Semashev</li>
11fdf7f2 623 <li><a href="numeric/conversion/index.html">Numeric Conversion</a> - Optimized Policy-based Numeric Conversions, from Fernando Cacciola</li>
1e59de90 624 <li><a href="predef/index.html">Predef</a> - 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, from René Ferdinand Rivera Morell</li>
b32b8144
FG
625 <li><a href="program_options/index.html">Program Options</a> - 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, from Vladimir Prus</li>
626 <li><a href="core/swap.html">Swap</a> - Enhanced generic swap function, from Joseph Gauterin</li>
b32b8144
FG
627 <li><a href="timer/index.html">Timer</a> - Event timer, progress timer, and progress display classes, from Beman Dawes</li>
628 <li><a href="../doc/html/tribool.html">Tribool</a> - 3-state boolean type library, from Doug Gregor</li>
629 <li><a href="utility/utility.htm">Utility</a> - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others</li>
630 <li><a href="utility/value_init.htm">Value Initialized</a> - Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams, from Fernando Cacciola</li>
7c673cae
FG
631</ul>
632
7c673cae
FG
633
634<p>[Category suggestions from Aleksey Gurtovoy, Beman Dawes and Vicente J. Botet Escrib&aacute;]</p>
635
636<hr>
637
638<h2>Libraries <a name="Removed">Retired</a> from Boost</h2>
639
640<ul>
641 <li>compose - Functional composition adapters for the STL,
642 from Nicolai Josuttis. Removed in Boost version 1.32.
643 Please use <a href="bind/bind.html">Bind</a> or <a
644 href="lambda/index.html">Lambda</a> instead.</li>
92f5a8d4
TL
645 <li>signals (v1) - Managed signals and slots callback implementation, from
646 Doug Gregor. Removed in Boost version 1.69. Please use
647 <a href="signals2/index.html">Signals2</a> instead.</li>
7c673cae
FG
648</ul>
649
650<hr>
651
652<p>Revised
653<!--webbot bot="Timestamp" s-type="EDITED"
654s-format="%d %b %Y" startspan -->19 Feb 2015<!--webbot bot="Timestamp" endspan i-checksum="14409" --></p>
655
656<p>&copy; Copyright Beman Dawes 2000-2004</p>
657<p>Distributed under the Boost Software License, Version 1.0.
658(See file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
659or <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
660</p>
661
662</body>
663</html>