1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
6 <meta http-equiv="Content-Type"
7 content="text/html; charset=iso-8859-1">
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" />
14 <body bgcolor="#FFFFFF" text="#000000">
16 <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
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>
27 <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" height="26" width="673">
29 <td height="16" width="663"><a href="../more/getting_started/index.html">Getting Started</a> <font color="#FFFFFF">
30 </font> <a href="../tools/index.html">Tools </a> <font color="#FFFFFF">
31 </font> <a href="http://www.boost.org">Web Site</a> <font color="#FFFFFF">
32 </font> <a href="http://www.boost.org/users/news/">News</a> <font color="#FFFFFF">
33 </font> <a href="http://www.boost.org/community/">Community</a> <font color="#FFFFFF">
34 </font>
35 <a href="http://www.boost.org/users/faq.html">FAQ</a> <font color="#FFFFFF">
36 </font> <a href="../more/index.htm">More Info</a></td>
41 <dt><a href="#Alphabetically">Libraries Listed Alphabetically</a></dt>
42 <dt><a href="#Category">Libraries Listed by Category</a></dt>
44 <dt><a href="#String">String and text processing</a></dt>
45 <dt><a href="#Containers">Containers</a></dt>
46 <dt><a href="#Iterators">Iterators</a></dt>
47 <dt><a href="#Algorithms">Algorithms</a></dt>
48 <dt><a href="#Function-objects">Function Objects and higher-order programming</a></dt>
49 <dt><a href="#Generic">Generic Programming</a></dt>
50 <dt><a href="#Metaprogramming">Template Metaprogramming</a></dt>
51 <dt><a href="#Preprocessor">Preprocessor Metaprogramming</a></dt>
52 <dt><a href="#Concurrent">Concurrent Programming</a></dt>
53 <dt><a href="#Math">Math and numerics</a></dt>
54 <dt><a href="#Correctness">Correctness and testing</a></dt>
55 <dt><a href="#Data">Data structures</a></dt>
56 <dt><a href="#Image-processing">Image processing</a></dt>
57 <dt><a href="#IO">Input/Output</a><a href="#Memory"></a></dt>
58 <dt><a href="#Inter-language">Inter-language support</a></dt>
59 <dt><a href="#Memory">Memory</a></dt>
60 <dt><a href="#Parsing">Parsing</a></dt>
61 <dt><a href="#Programming">Programming Interfaces</a></dt>
62 <dt><a href="#Miscellaneous">Miscellaneous</a></dt>
63 <dt><a href="#workarounds">Broken compiler workarounds</a></dt>
65 <dt><a href="#Removed">Libraries Retired from Boost</a></dt>
68 <p>See <a href="../more/getting_started.html">Getting Started</a> page to find out
69 how to download, build, and install the libraries.</p>
73 <h2>Libraries Listed <a name="Alphabetically">Alphabetically</a></h2>
76 <li><a href="accumulators/index.html">accumulators</a> - Framework for incremental
77 calculation, and collection of statistical accumulators, from Eric Niebler.</li>
78 <li><a href="any/index.html">any</a> - Safe, generic container for single
79 values of different value types, from Kevlin Henney. </li>
80 <li><a href="array/index.html">array</a> - STL compliant
81 container wrapper for arrays of constant size, from
82 Nicolai Josuttis.</li>
83 <li><a href="asio/index.html">asio</a> - Portable networking and other low-level
84 I/O, including sockets, timers, hostname resolution, socket iostreams, serial
85 ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff.</li>
86 <li><a href="assign/index.html">assign</a> - Filling containers
87 with constant or generated data has never been
88 easier, from Thorsten Ottosen.
90 <li><a href="bimap/index.html">bimap</a> - Bidirectional maps, from Matias Capeletto.
92 <li><a href="bind/bind.html">bind</a> and <a href="bind/mem_fn.html"> mem_fn</a> - Generalized binders for function/object/pointers and member functions, from Peter
94 <li><a href="utility/call_traits.htm">call_traits</a> -
95 Defines types for passing parameters, from John Maddock,
96 Howard Hinnant, et al.</li>
97 <li><a href="circular_buffer/index.html">circular_buffer</a> - STL compliant
98 container also known as ring or cyclic buffer, from Jan Gaspar.</li>
99 <li><a href="compatibility/index.html">compatibility</a> - Help for
100 non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
102 <li><a href="utility/compressed_pair.htm">compressed_pair</a>
103 - Empty member optimization, from John Maddock, Howard
105 <li><a href="concept_check/concept_check.htm">concept check</a>
106 - Tools for generic programming, from Jeremy Siek.</li>
107 <li><a href="config/config.htm">config</a> - Helps boost
108 library developers adapt to compiler idiosyncrasies; not
109 intended for library users.</li>
110 <li><a href="conversion/index.html">conversion</a> - Polymorphic and lexical casts, from Dave Abrahams and
112 <li><a href="crc/index.html">crc</a> - Cyclic Redundancy Code, from Daryle
114 <li><a href="date_time/doc/index.html">date_time</a> - Date-Time library from Jeff Garland.</li>
115 <li><a href="dynamic_bitset/dynamic_bitset.html">dynamic_bitset</a> - A runtime sized version of <tt>std::bitset</tt> from Jeremy Siek and Chuck Allison.</li>
116 <li><a href="exception/doc/boost-exception.html">exception</a> - A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html">N2179</a>), from Emil Dotchevski.</li>
117 <li><a href="utility/enable_if.html">enable_if</a> - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine.</li>
118 <li><a href="filesystem/index.html">filesystem</a> - Portable paths,
119 iteration over directories, and other useful filesystem operations, from
121 <li><a href="flyweight/doc/index.html">flyweight</a> - Design pattern
122 to manage large quantities of highly redundant objects,
123 from Joaquín M López Muñoz.</li>
124 <li><a href="foreach/index.html">foreach</a> - BOOST_FOREACH macro for easily
125 iterating over the elements of a sequence, from Eric Niebler.</li>
126 <li><a href="format/index.html">format</a> - Type-safe 'printf-like' format
127 operations, from Samuel Krempp.</li>
128 <li><a href="function/index.html">function</a> - Function object wrappers
129 for deferred calls or callbacks, from Doug Gregor.</li>
130 <li><a href="function_types/index.html">function_types</a> - Type traits
131 for callable, built-in types, from Tobias Schwinger</li>
132 <li><a href="functional/index.html">functional</a> - Enhanced
133 function object adaptors, from Mark Rodgers.</li>
134 <li><a href="functional/factory/index.html">functional/factory</a> -
135 function object templates for dynamic and static object creation,
136 from Tobias Schwinger</li>
137 <li><a href="functional/forward/index.html">functional/forward</a> -
138 adapters to allow generic function objects to accept arbitrary
139 arguments, from Tobias Schwinger</li>
140 <li><a href="functional/hash/index.html">functional/hash</a> -
141 A TR1 hash function object that can be extended to hash user defined
142 types, from Daniel James.</li>
143 <li><a href="fusion/index.html">fusion</a> -
144 Library for working with tuples, including various containers, algorithms, etc.
145 From Joel de Guzman, Dan Marsden and Tobias Schwinger.</li>
146 <li><a href="gil/doc/index.html">gil</a> - Generic Image Library, from
147 Lubomir Bourdev and Hailin Jin.</li>
148 <li><a href="graph/doc/table_of_contents.html">graph</a> -
149 Generic graph components and algorithms, from Jeremy Siek
150 and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock.</li>
151 <li><a href="icl/index.html">icl</a> -
152 Interval Container Library, interval sets and maps and aggregation
153 of associated values, from Joachim Faulhaber.</li>
154 <li><a href="integer/index.html">integer</a> - Headers to ease
155 dealing with integral types.</li>
156 <li><a href="interprocess/index.html">interprocess </a>- Shared memory, memory mapped files,
157 process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga</li>
158 <li><a href="numeric/interval/doc/interval.htm">interval </a>- Extends the
159 usual arithmetic functions to mathematical intervals, from Guillaume
160 Melquiond, Hervé Brönnimann and Sylvain Pion.</li>
161 <li><a href="intrusive/index.html">intrusive </a>- Intrusive containers and algorithms, from Ion Gaztañaga</li>
162 <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>
163 <li><a href="io/doc/ios_state.html">io state savers</a> - Save I/O state to
164 prevent jumbled data, from Daryle Walker.</li>
165 <li><a href="iostreams/doc/index.html">iostreams</a> - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.</li>
166 <li><a href="iterator/doc/index.html">iterators</a> - Iterator
167 construction framework, adaptors, concepts, and more, from Dave
168 Abrahams, Jeremy Siek, and Thomas Witt.</li>
169 <li><a href="lambda/index.html">lambda</a> - Define small unnamed
170 function objects at the actual call site, and more, from Jaakko Järvi and
172 <li><a href="conversion/lexical_cast.htm">lexical_cast</a> - General literal text conversions, such as an <code>int</code> represented as
173 a <code>string</code>, or vice-versa, from Kevlin Henney.</li>
174 <li><a href="math/doc/index.html">math</a> - Several contributions in the
175 domain of mathematics, from various authors.</li>
176 <li><a href="math/doc/complex/html/index.html">math/complex number algorithms</a> -
177 These complex number algorithms are the inverses of trigonometric functions currently present in the C++ standard, from John Maddock.</li>
178 <li><a href="math/doc/common_factor.html">math/common_factor</a> - Greatest
179 common divisor and least common multiple, from Daryle Walker.</li>
180 <li><a href="math/doc/octonion/html/index.html">math/octonion</a> -
181 Octonions, from Hubert Holin.</li>
182 <li><a href="math/doc/quaternion/html/index.html">math/quaternion</a> -
183 Quaternions, from Hubert Holin.</li>
184 <li><a href="math/doc/sf_and_dist/html/index.html">math/special_functions</a> -
185 A wide selection of mathematical special functions from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang.</li>
186 <li><a href="math/doc/sf_and_dist/html/index.html">math/statistical distributions</a> -
187 A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow</li>
188 <li><a href="algorithm/minmax/index.html">minmax</a> - standard library
189 extensions for simultaneous min/max and min/max element computations,
190 from Hervé Brönnimann.</li>
191 <li><a href="../doc/html/mpi.html">MPI</a> - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer.</li>
192 <li><a href="mpl/doc/index.html">mpl</a> - Template metaprogramming
193 framework of compile-time algorithms, sequences and metafunction classes,
194 from Aleksey Gurtovoy.</li>
195 <li><a href="msm/index.html">meta state machine</a> - High-performance expressive UML 2.0 finite state machines, from Christophe Henry.</li>
196 <li><a href="multi_array/doc/index.html">multi_array</a> - Multidimensional
197 containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
198 <li><a href="multi_index/doc/index.html">multi_index</a> - Containers with
199 multiple STL-compatible access interfaces, from Joaquín M López
201 <li><a href="numeric/conversion/doc/html/index.html">numeric/conversion</a> - Optimized Policy-based Numeric Conversions,
202 from Fernando Cacciola.</li>
203 <li><a href="utility/operators.htm">operators</a> - Templates
204 ease arithmetic classes and iterators, from Dave Abrahams
205 and Jeremy Siek.</li>
206 <li><a href="optional/doc/html/index.html">optional</a> - Discriminated-union
207 wrapper for optional values, from Fernando Cacciola.</li>
209 <li><span class="library"><a href=
210 "parameter/doc/html/index.html">parameter</a></span> -
211 Write functions that accept arguments by name, by David Abrahams
212 and Daniel Wallin.</li>
214 <li><a href="ptr_container/index.html">pointer container</a>
215 - Containers for storing heap-allocated polymorphic objects to ease
216 OO-programming, from Thorsten Ottosen. </li>
217 <li><a href="polygon/index.html">polygon</a> - Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from
218 Lucanus Simonson.</li>
219 <li><a href="pool/doc/index.html">pool</a> - Memory pool management, from
221 <li><a href="preprocessor/doc/index.html">preprocessor</a> - Preprocessor
222 metaprogramming tools including repetition and recursion, from Vesa Karvonen
223 and Paul Mensonides.</li>
224 <li><a href="../doc/html/program_options.html">program_options</a> - Access to configuration
225 data given on command line, in config files and other sources, from Vladimir Prus.</li>
226 <li><a href="property_map/doc/property_map.html">property map</a>
227 - Concepts defining interfaces which map key objects to
228 value objects, from Jeremy Siek.</li>
229 <li><a href="property_tree/index.html">property tree</a> - A tree data
230 structure especially suited to storing configuration data, from Marcin
231 Kalicinski and Sebastian Redl.
232 <li><a href="proto/index.html">proto</a> - Expression template library and compiler
233 construction toolkit for domain-specific embedded languages, from Eric Niebler.</li>
234 <li><a href="python/doc/index.html">python</a> - Reflects C++
235 classes and functions into <a
236 href="http://www.python.org">Python</a>, from Dave
238 <li><a href="random/index.html">random</a> - A complete
239 system for random number generation, from Jens Maurer.</li>
240 <li><a href="range/index.html">range</a> - Concepts and utilities for
241 range-based algorithms, as well as range-based algorithms and range
242 adaptors that allow for efficient and very expressive code, from
243 Thorsten Ottosen and Neil Groves.</li>
244 <li><a href="rational/index.html">rational</a> - A rational
245 number class, from Paul Moore.</li>
247 <li><a href="bind/ref.html">ref</a> - A utility library for
248 passing references to generic functions, from Jaako Järvi,
249 Peter Dimov, Doug Gregor, and Dave Abrahams.</li>
251 <li><a href="regex/index.html">regex</a> - Regular expression
252 library, from John Maddock.</li>
253 <li><a href="utility/utility.htm#result_of">result_of</a> - determines the type of a function call expression.</li>
254 <li><a href="scope_exit/doc/html/index.html">scope_exit</a>
255 - Execute arbitrary code at scope exit, from Alexander Nasonov.</li>
256 <li><a href="serialization/doc/index.html">serialization</a>
257 - Serialization for persistence and marshalling, from Robert Ramey</li>
258 <li><a href="signals/index.html">signals</a> - managed signals &
259 slots callback implementation, from Doug Gregor.</li>
260 <li><a href="signals2/index.html">signals2</a> - managed signals &
261 slots callback implementation (thread-safe version 2), from Frank Mori Hess.</li>
262 <li><a href="smart_ptr/index.html">smart_ptr</a> - Six smart
263 pointer class templates, from Greg Colvin, Beman Dawes,
264 Peter Dimov, and Darin Adler.</li>
265 <li><a href="statechart/doc/index.html">statechart</a> - Arbitrarily
266 complex finite state machines can be implemented in easily readable and
267 maintainable C++ code, from Andreas Huber.</li>
268 <li><a href="static_assert/static_assert.htm">static_assert</a>
269 - Static assertions (compile time assertions), from John
271 <li><a href="spirit/index.html">spirit</a> - LL parser framework
272 represents parsers directly as EBNF grammars in inlined C++, from Joel de
273 Guzman, Hartmut Kaiser, Dan Nuffer and team.</li>
274 <li><a href="algorithm/string/index.html">string_algo</a> -
275 String algorithms library, from Pavol Droba.</li>
276 <li><a href="utility/swap.html">swap</a> -
277 Enhanced generic swap function, from Joseph Gauterin.</li>
278 <li><a href="system/doc/index.html">system</a> - Operating system support,
279 including the diagnostics support that will be part of the C++0x standard
280 library, from Beman Dawes.</li>
281 <li><a href="test/index.html">test</a> - Support for simple program testing,
282 full unit testing, and for program
283 execution monitoring, from Gennadiy Rozental.</li>
284 <li><a href="thread/doc/index.html">thread</a> - Portable C++
285 multi-threading, from William Kempf and Anthony Williams.</li>
286 <li><a href="timer/index.html">timer</a> - Event timer,
287 progress timer, and progress display classes, from Beman
289 <li><a href="tokenizer/index.html">tokenizer</a> - Break of a string or other
290 character sequence into a series of tokens, from John Bandela.</li>
291 <li><a href="tr1/index.html">TR1</a> - An implementation of the Technical
292 Report on C++ Library Extensions, using other Boost libraries as a basis, from John Maddock.</li>
293 <li><a href="../doc/html/tribool.html">tribool</a> - 3-state boolean type library, from Doug Gregor.</li>
294 <li><a href="tuple/doc/tuple_users_guide.html">tuple</a> - Ease definition of functions returning multiple values, and more,
295 from Jaakko Järvi.</li>
296 <li><a href="type_traits/index.html">type_traits</a> -
297 Templates for fundamental properties of types, from John
298 Maddock, Steve Cleary, et al.</li>
299 <li><a href="typeof/index.html">typeof</a> -
300 Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt.</li>
301 <li><a href="numeric/ublas/doc/index.htm">uBLAS</a> - Basic linear algebra
302 for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.</li>
303 <li><a href="units/index.html">units</a> -
304 Zero-overhead dimensional analysis and unit/quantity
305 manipulation and conversion, from Matthias Schabel and Steven Watanabe.</li>
306 <li><a href="../doc/html/unordered.html">unordered</a> - unordered associative containers, from Daniel James.</li>
307 <li><a href="utility/utility.htm">utility</a> - Class <b>noncopyable</b>
308 plus <b>checked_delete()</b>, <b>checked_array_delete()</b>, <b>next(),</b>
310 function templates, plus <b>base-from-member idiom</b>, from Dave Abrahams and others.</li>
311 <li><a href="utility/value_init.htm">value_initialized</a> - Wrapper for uniform-syntax value initialization,
312 from Fernando Cacciola, based on the original idea of David Abrahams.</li>
313 <li><a href="uuid/index.html">uuid</a> - A universally unique identifier, from Andy Tompkins.</li>
314 <li><a href="variant/index.html">variant</a> - Safe, generic, stack-based discriminated union
315 container, from Eric Friedman and Itay Maman.</li>
316 <li><a href="wave/index.html">wave</a> - Standards conformant
317 implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser </li>
318 <li><a href="xpressive/index.html">xpressive</a> - Regular expressions that can be written as strings or as expression templates,
319 and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler.</li>
324 <h2>Libraries Listed by <a name="Category">Category</a></h2>
326 <h3><a name="String">String</a> and text processing</h3>
329 <li><a href="conversion/lexical_cast.htm">conversion/lexical_cast</a> - <tt>lexical_cast</tt>
330 class template, from Kevlin Henney.</li>
331 <li><a href="format/index.html">format</a> - Type-safe 'printf-like' format
332 operations, from Samuel Krempp.</li>
333 <li><a href="iostreams/doc/index.html">iostreams</a> - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.</li>
334 <li><a href="regex/index.html">regex</a> - Regular expression
335 library, from John Maddock</li>
336 <li><a href="spirit/index.html">spirit</a> - LL parser framework
337 represents parsers directly as EBNF grammars in inlined C++, from Joel de
338 Guzman, Hartmut Kaiser, Dan Nuffer and team.</li>
339 <li><a href="algorithm/string/index.html">string_algo</a> -
340 String algorithms library, from Pavol Droba</li>
341 <li><a href="tokenizer/index.html">tokenizer</a> - Break of a string or other
342 character sequence into a series of tokens, from John Bandela</li>
343 <li><a href="wave/index.html">wave</a> - Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser.</li>
344 <li><a href="xpressive/index.html">xpressive</a> - Regular expressions that can be written as strings or as expression templates,
345 and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler.</li>
348 <h3><a name="Containers">Containers</a></h3>
351 <li><a href="array/index.html">array</a> - STL compliant
352 container wrapper for arrays of constant size, from
353 Nicolai Josuttis.</li>
354 <li><a href="bimap/index.html">bimap</a> - Bidirectional maps, from Matias Capeletto.
356 <li><a href="circular_buffer/index.html">circular_buffer</a> - STL compliant
357 container also known as ring or cyclic buffer, from Jan Gaspar.</li>
358 <li><a href="dynamic_bitset/dynamic_bitset.html">dynamic_bitset</a> - A runtime sized version of <tt>std::bitset</tt> from Jeremy Siek and Chuck Allison.</li>
359 <li><a href="gil/doc/index.html">gil</a> - Generic Image Library, from
360 Lubomir Bourdev and Hailin Jin.</li>
361 <li><a href="graph/doc/table_of_contents.html">graph</a> -
362 Generic graph components and algorithms, from Jeremy Siek
363 and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock.</li>
364 <li><a href="icl/index.html">icl</a> -
365 Interval Container Library, interval sets and maps and aggregation
366 of associated values, from Joachim Faulhaber.</li>
367 <li><a href="intrusive/index.html">intrusive </a>- Intrusive containers and algorithms, from Ion Gaztañaga</li>
368 <li><a href="multi_array/doc/index.html">multi_array</a> - Multidimensional
369 containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
370 <li><a href="multi_index/doc/index.html">multi_index</a> - Containers with
371 multiple STL-compatible access interfaces, from Joaquín M López
373 <li><a href="ptr_container/index.html">pointer container</a>
374 - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. </li>
375 <li><a href="property_map/doc/property_map.html">property map</a>
376 - Concepts defining interfaces which map key objects to
377 value objects, from Jeremy Siek.</li>
378 <li><a href="property_tree/index.html">property tree</a> - A tree data
379 structure especially suited to storing configuration data, from Marcin
380 Kalicinski and Sebastian Redl.
381 <li><a href="../doc/html/unordered.html">unordered</a> - unordered associative containers, from Daniel James.</li>
382 <li><a href="variant/index.html">variant</a> - Safe, generic, stack-based
383 discriminated union container, from Eric Friedman and Itay Maman.</li>
386 <h3><a name="Iterators">Iterators</a></h3>
389 <li><a href="gil/doc/index.html">gil</a> - Generic Image Library, from
390 Lubomir Bourdev and Hailin Jin.</li>
391 <li><a href="graph/doc/table_of_contents.html">graph</a> -
392 Generic graph components and algorithms, from Jeremy Siek
393 and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock.</li>
394 <li><a href="iterator/doc/index.html">iterators</a> - Iterator
395 construction framework, adaptors, concepts, and more, from Dave
396 Abrahams, Jeremy Siek, and Thomas Witt.</li>
397 <li><a href="utility/operators.htm">operators</a> - Templates
398 ease arithmetic classes and iterators, from Dave Abrahams
399 and Jeremy Siek.</li>
400 <li><a href="tokenizer/index.html">tokenizer</a> - Break of a string or other
401 character sequence into a series of tokens, from John Bandela.</li>
404 <h3><a name="Algorithms">Algorithms</a></h3>
407 <li><a href="foreach/index.html">foreach</a> - BOOST_FOREACH macro for easily
408 iterating over the elements of a sequence, from Eric Niebler.</li>
409 <li><a href="gil/doc/index.html">gil</a> - Generic Image Library, from
410 Lubomir Bourdev and Hailin Jin.</li>
411 <li><a href="graph/doc/table_of_contents.html">graph</a> -
412 Generic graph components and algorithms, from Jeremy Siek
413 and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock.</li>
414 <li><a href="algorithm/minmax/index.html">minmax</a> - standard library
415 extensions for simultaneous min/max and min/max element computations,
416 from Hervé Brönnimann.</li>
417 <li><a href="range/index.html">range</a> - A new infrastructure
418 for generic algorithms that builds on top
419 of the new iterator concepts, from Thorsten Ottosen.</li>
420 <li><a href="algorithm/string/index.html">string_algo</a> -
421 String algorithms library, from Pavol Droba</li>
422 <li><a href="utility/utility.htm">utility</a> - Class <b>next(),</b> <b>prior()</b>
423 function templates, from Dave Abrahams and others. </li>
426 <h3><a name="Function-objects">Function objects</a> and higher-order programming</h3>
429 <li><a href="bind/bind.html">bind</a> and <a href="bind/mem_fn.html"> mem_fn</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov.</li>
431 <li><a href="function/index.html">function</a> - Function object wrappers
432 for deferred calls or callbacks, from Doug Gregor.</li>
433 <li><a href="functional/index.html">functional</a> - Enhanced
434 function object adaptors, from Mark Rodgers.</li>
435 <li><a href="functional/factory/index.html">functional/factory</a> -
436 function object templates for dynamic and static object creation,
437 from Tobias Schwinger</li>
438 <li><a href="functional/forward/index.html">functional/forward</a> -
439 adapters to allow generic function objects to accept arbitrary
440 arguments, from Tobias Schwinger</li>
441 <li><a href="functional/hash/index.html">functional/hash</a> -
442 A TR1 hash function object that can be extended to hash user defined
443 types, from Daniel James.</li>
444 <li><a href="lambda/index.html">lambda</a> - Define small unnamed
445 function objects at the actual call site, and more, from Jaakko Järvi and
448 <li><a href="bind/ref.html">ref</a> - A utility library for
449 passing references to generic functions, from Jaako Järvi,
450 Peter Dimov, Doug Gregor, and Dave Abrahams.</li>
452 <li><a href="signals/index.html">signals</a> - managed signals &
453 slots callback implementation, from Doug Gregor.</li>
454 <li><a href="signals2/index.html">signals2</a> - managed signals &
455 slots callback implementation (thread-safe version 2), from Frank Mori Hess.</li>
457 <li><a href="utility/utility.htm#result_of">result_of</a> - determines the type of a function call expression.</li>
460 <h3><a name="Generic">Generic</a> Programming</h3>
463 <li><a href="utility/call_traits.htm">call_traits</a> -
464 Defines types for passing parameters, from John Maddock,
465 Howard Hinnant, et al.</li>
466 <li><a href="concept_check/concept_check.htm">concept check</a>
467 - Tools for generic programming, from Jeremy Siek.</li>
468 <li><a href="utility/enable_if.html">enable_if</a> -
469 Selective inclusion of function template overloads, from Jaakko
470 Järvi, Jeremiah Willcock, and Andrew Lumsdaine.</li>
471 <li><a href="function_types/index.html">function_types</a> - Type traits
472 for callable, built-in types, from Tobias Schwinger</li>
473 <li><a href="gil/doc/index.html">gil</a> - Generic Image Library, from
474 Lubomir Bourdev and Hailin Jin.</li>
475 <li><a href="utility/in_place_factories.html">in_place_factory, typed_in_place_factory</a>- Generic in-place construction
476 of contained objects with a variadic argument-list, from Fernando Cacciola.</li>
477 <li><a href="utility/operators.htm">operators</a> - Templates
478 ease arithmetic classes and iterators, from Dave Abrahams
479 and Jeremy Siek.</li>
481 <li><a href="property_map/doc/property_map.html">property map</a>
482 - Concepts defining interfaces which map key objects to
483 value objects, from Jeremy Siek.</li>
484 <li><a href="static_assert/static_assert.htm">static_assert</a>
485 - Static assertions (compile time assertions), from John
487 <li><a href="type_traits/index.html">type_traits</a> -
488 Templates for fundamental properties of types, from John
489 Maddock, Steve Cleary, et al.</li>
492 <h3>Template <a name="Metaprogramming"> Metaprogramming</a></h3>
495 <li><a href="function_types/index.html">function_types</a> - Type traits
496 for callable, built-in types, from Tobias Schwinger</li>
497 <li><a href="fusion/index.html">fusion</a> -
498 Library for working with tuples, including various containers,
499 algorithms, etc. From Joel de Guzman, Dan Marsden and Tobias Schwinger.</li>
500 <li><a href="mpl/doc/index.html">mpl</a> - Template metaprogramming
501 framework of compile-time algorithms, sequences and metafunction classes,
502 from Aleksey Gurtovoy.</li>
503 <li><a href="proto/index.html">proto</a> - Expression template library and compiler
504 construction toolkit for domain-specific embedded languages, from Eric Niebler.</li>
505 <li><a href="static_assert/static_assert.htm">static_assert</a>
506 - Static assertions (compile time assertions), from John
508 <li><a href="type_traits/index.html">type_traits</a> -
509 Templates for fundamental properties of types, from John
510 Maddock, Steve Cleary, et al.</li>
513 <h3><a name="Preprocessor">Preprocessor</a> Metaprogramming</h3>
516 <li><a href="preprocessor/doc/index.html">preprocessor</a> - Preprocessor
517 metaprogramming tools including repetition and recursion, from Vesa Karvonen
518 and Paul Mensonides.</li>
521 <h3><a name="Concurrent">Concurrent</a> Programming</h3>
524 <li><a href="asio/index.html">asio</a> - Portable networking and other low-level
525 I/O, including sockets, timers, hostname resolution, socket iostreams, serial
526 ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff.</li>
527 <li><a href="interprocess/index.html">interprocess </a>- Shared memory, memory mapped files,
528 process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga</li>
529 <li><a href="../doc/html/mpi.html">MPI</a> - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer.</li>
530 <li><a href="thread/doc/index.html">thread</a> - Portable C++
531 multi-threading, from William Kempf.</li>
534 <h3><a name="Math">Math</a> and numerics</h3>
537 <li><a href="accumulators/index.html">accumulators</a> - Framework for incremental
538 calculation, and collection of statistical accumulators, from Eric Niebler.</li>
539 <li><a href="integer/index.html">integer</a> - Headers to ease
540 dealing with integral types.</li>
541 <li><a href="numeric/interval/doc/interval.htm">interval </a>- Extends the
542 usual arithmetic functions to mathematical intervals, from Guillaume
543 Melquiond, Hervé Brönnimann and Sylvain Pion.</li>
544 <li><a href="math/doc/index.html">math</a> - Several contributions in the
545 domain of mathematics, from various authors.</li>
546 <li><a href="math/doc/complex/html/index.html">math/complex number algorithms</a> -
547 These complex number algorithms are the inverses of trigonometric functions currently present in the C++ standard, from John Maddock.</li>
548 <li><a href="math/doc/common_factor.html">math/common_factor</a> - Greatest
549 common divisor and least common multiple, from Daryle Walker.</li>
550 <li><a href="math/doc/octonion/html/index.html">math/octonion</a> -
551 Octonions, from Hubert Holin.</li>
552 <li><a href="math/doc/quaternion/html/index.html">math/quaternion</a> -
553 Quaternions, from Hubert Holin.</li>
554 <li><a href="math/doc/sf_and_dist/html/index.html">math/special_functions</a> -
555 A wide selection of mathematical special functions from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang.</li>
556 <li><a href="math/doc/sf_and_dist/html/index.html">math/statistical distributions</a> -
557 A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow</li>
558 <li><a href="multi_array/doc/index.html">multi_array</a> - Multidimensional
559 containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
560 <li><a href="numeric/conversion/doc/html/index.html">numeric/conversion</a> - Optimized Policy-based Numeric Conversions,
562 <li><a href="utility/operators.htm">operators</a> - Templates
563 ease arithmetic classes and iterators, from Dave Abrahams
564 and Jeremy Siek.</li>
565 <li><a href="random/index.html">random</a> - A complete
566 system for random number generation, from Jens Maurer.</li>
567 <li><a href="rational/index.html">rational</a> - A rational
568 number class, from Paul Moore.</li>
569 <li><a href="numeric/ublas/doc/index.htm">uBLAS</a> - Basic linear algebra
570 for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.</li>
573 <h3><a name="Correctness">Correctness</a> and testing</h3>
576 <li><a href="concept_check/concept_check.htm">concept check</a>
577 - Tools for generic programming, from Jeremy Siek.</li>
578 <li><a href="static_assert/static_assert.htm">static_assert</a>
579 - Static assertions (compile time assertions), from John
581 <li><a href="test/index.html">test</a> - Support for simple program testing,
582 full unit testing, and for program
583 execution monitoring, from Gennadiy Rozental.</li>
586 <h3><a name="Data">Data</a> structures</h3>
589 <li><a href="any/index.html">any</a> - Safe, generic container for single
590 values of different value types, from Kevlin Henney.</li>
591 <li><a href="bimap/index.html">bimap</a> - Bidirectional maps, from Matias Capeletto.
593 <li><a href="utility/compressed_pair.htm">compressed_pair</a>
594 - Empty member optimization, from John Maddock, Howard
596 <li><a href="fusion/index.html">fusion</a> -
597 Library for working with tuples, including various containers, algorithms, etc.
598 From Joel de Guzman and Dan Marsden and Tobias Schwinger.</li>
599 <li><a href="icl/index.html">icl</a> -
600 Interval Container Library, interval sets and maps and aggregation
601 of associated values, from Joachim Faulhaber.</li>
602 <li><a href="multi_index/doc/index.html">multi_index</a> - Containers with
603 multiple STL-compatible access interfaces, from Joaquín M López
605 <li><a href="ptr_container/index.html">pointer container</a>
606 - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. </li>
607 <li><a href="property_tree/index.html">property tree</a> - A tree data
608 structure especially suited to storing configuration data, from Marcin
609 Kalicinski and Sebastian Redl.
610 <li><a href="tuple/doc/tuple_users_guide.html">tuple</a> - Ease definition of functions returning multiple values, and more,
611 from Jaakko Järvi.</li>
612 <li><a href="uuid/index.html">uuid</a> - A universally unique identifier, from Andy Tompkins.</li>
613 <li><a href="variant/index.html">variant</a> - Safe, generic, stack-based
614 discriminated union container, from Eric Friedman and Itay Maman.</li>
617 <h3><a name="Image-processing">Image processing</a></h3>
619 <li><a href="gil/doc/index.html">gil</a> - Generic Image Library, from
620 Lubomir Bourdev and Hailin Jin.</li>
623 <h3><a name="IO">Input/Output</a></h3>
625 <li><a href="asio/index.html">asio</a> - Portable networking and other low-level
626 I/O, including sockets, timers, hostname resolution, socket iostreams, serial
627 ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff.</li>
628 <li><a href="assign/index.html">assign</a> - Filling containers
629 with constant or generated data has never been
630 easier, from Thorsten Ottosen.
633 <li><a href="format/index.html">format</a> - Type-safe 'printf-like' format
634 operations, from Samuel Krempp.</li>
635 <li><a href="io/doc/ios_state.html">io state savers</a> - Save I/O state to
636 prevent jumbled data, from Daryle Walker.</li>
637 <li><a href="iostreams/doc/index.html">iostreams</a> - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.</li>
638 <li><a href="../doc/html/program_options.html">program_options</a> - Access to configuration
639 data given on command line, in config files and other sources, from Vladimir Prus.</li>
640 <li><a href="serialization/doc/index.html">serialization</a> - Serialization
641 of arbitrary data for persistence and marshalling, from Robert Ramey</li>
645 <h3><a name="Inter-language">Inter-language</a> support</h3>
648 <li><a href="python/doc/index.html">python</a> - Reflects C++
649 classes and functions into <a
650 href="http://www.python.org">Python</a>, from Dave
654 <h3><a name="Memory">Memory</a></h3>
657 <li><a href="pool/doc/index.html">pool</a> - Memory pool management, from
659 <li><a href="smart_ptr/index.html">smart_ptr</a> - Six smart
660 pointer class templates, from Greg Colvin, Beman Dawes,
661 Peter Dimov, and Darin Adler.</li>
662 <li><a href="utility/utility.htm">utility</a> - Class <b>noncopyable</b>
663 plus <b>checked_delete()</b>, <b>checked_array_delete()</b>, <b>next(),</b>
665 function templates, plus <b>base-from-member idiom</b>, from Dave Abrahams and others. </li>
668 <h3><a name="Parsing">Parsing</a></h3>
671 <li><a href="spirit/index.html">spirit</a> - LL parser framework
672 represents parsers directly as EBNF grammars in inlined C++, from Joel de
673 Guzman, Hartmut Kaiser, Dan Nuffer and team.</li>
676 <h3><a name="Programming">Programming Interfaces</a></h3>
679 <li><a href="function/index.html">function</a> - Function object wrappers
680 for deferred calls or callbacks, from Doug Gregor.</li>
682 <li><span class="library"><a href=
683 "parameter/doc/html/index.html">parameter</a></span> -
684 Write functions that accept arguments by name, by David Abrahams
685 and Daniel Wallin.</li>
688 <h3><a name="Miscellaneous">Miscellaneous</a></h3>
691 <li><a href="utility/base_from_member.html">base-from-member</a> - Idiom to
692 initialize a base class with a member, from Daryle Walker.</li>
693 <li><a href="utility/compressed_pair.htm">compressed_pair</a>
694 - Empty member optimization, from John Maddock, Howard
696 <li><a href="conversion/index.html">conversion</a> - Polymorphic and lexical casts, from Dave Abrahams and
698 <li><a href="crc/index.html">crc</a> - Cyclic Redundancy Code, from Daryle
700 <li><a href="date_time/doc/index.html">date_time</a> - Date-Time library from Jeff Garland.</li>
701 <li><a href="exception/doc/boost-exception.html">exception</a> - A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html">N2179</a>), from Emil Dotchevski.</li>
702 <li><a href="filesystem/index.html">filesystem</a> - Portable paths,
703 iteration over directories, and other useful filesystem operations, from
705 <li><a href="flyweight/doc/index.html">flyweight</a> - Design pattern
706 to manage large quantities of highly redundant objects,
707 from Joaquín M López Muñoz.</li>
708 <li><a href="conversion/lexical_cast.htm">lexical_cast</a> - General literal text conversions, such as an <code>int</code> represented as
709 a <code>string</code>, or vice-versa, from Kevlin Henney.</li>
710 <li><a href="msm/index.html">meta state machine</a> - High-performance expressive UML 2.0 finite state machines, from Christophe Henry.</li>
711 <li><a href="numeric/conversion/doc/html/index.html">numeric/conversion</a> - Optimized Policy-based Numeric Conversions,
712 from Fernando Cacciola.</li>
713 <li><a href="optional/doc/html/index.html">optional</a> - Discriminated-union
714 wrapper for optional values, from Fernando Cacciola.</li>
715 <li><a href="../doc/html/program_options.html">program_options</a> - Access to configuration
716 data given on command line, in config files and other sources, from Vladimir Prus.</li>
717 <li><a href="scope_exit/doc/html/index.html">scope_exit</a>
718 - Execute arbitrary code at scope exit, from Alexander Nasonov.</li>
719 <li><a href="statechart/doc/index.html">statechart</a> - Arbitrarily
720 complex finite state machines can be implemented in easily readable and
721 maintainable C++ code, from Andreas Huber.</li>
722 <li><a href="utility/swap.html">swap</a> -
723 Enhanced generic swap function, from Joseph Gauterin.</li>
724 <li><a href="system/doc/index.html">system</a> - Operating
725 system support, including the diagnostics support that will be part of the
726 C++0x standard library, from Beman Dawes.</li>
727 <li><a href="timer/index.html">timer</a> - Event timer,
728 progress timer, and progress display classes, from Beman
730 <li><a href="tr1/index.html">TR1</a> - An implementation of the Technical
731 Report on C++ Library Extensions, using other Boost libraries as a basis, from John Maddock.</li>
732 <li><a href="../doc/html/tribool.html">tribool</a> - 3-state boolean type library, from Doug Gregor.</li>
733 <li><a href="typeof/index.html">typeof</a> -
734 Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt.</li>
735 <li><a href="units/index.html">units</a> -
736 Zero-overhead dimensional analysis and unit/quantity
737 manipulation and conversion, from Matthias Schabel and Steven Watanabe.</li>
738 <li><a href="utility/utility.htm">utility</a> - Class <b>noncopyable</b>
739 plus <b>checked_delete()</b>, <b>checked_array_delete()</b>, <b>next(),</b>
741 function templates, plus <b>base-from-member idiom</b>, from Dave Abrahams and others. </li>
742 <li><a href="utility/value_init.htm">value_initialized</a> - Wrapper for uniform-syntax value initialization,
743 from Fernando Cacciola, based on the original idea of David Abrahams.</li>
746 <h3>Broken compiler <a name="workarounds">workarounds</a></h3>
749 <li><a href="compatibility/index.html">compatibility</a> - Help for
750 non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
752 <li><a href="config/config.htm">config</a> - Helps boost
753 library developers adapt to compiler idiosyncrasies; not
754 intended for library users.</li>
757 <p>[Category suggestions from Aleksey Gurtovoy and Beman Dawes]</p>
761 <h2>Libraries <a name="Removed">Retired</a> from Boost</h2>
764 <li>compose - Functional composition adapters for the STL,
765 from Nicolai Josuttis. Removed in Boost version 1.32.
766 Please use <a href="bind/bind.html">Bind</a> or <a
767 href="lambda/index.html">Lambda</a> instead.</li>
773 <!--webbot bot="Timestamp" s-type="EDITED"
774 s-format="%d %b %Y" startspan -->03 Nov 2009<!--webbot bot="Timestamp" endspan i-checksum="15274" --></p>
776 <p>© Copyright Beman Dawes 2000-2004</p>
777 <p>Distributed under the Boost Software License, Version 1.0.
778 (See file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
779 or <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)