summaryrefslogtreecommitdiff
path: root/libs/libraries.htm
blob: 13c117140170fed458345b8ab906dfaef5494487 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<title>Boost Libraries</title>
<link rel="stylesheet" href="../doc/src/boostbook.css" type="text/css" />
</head>

<body bgcolor="#FFFFFF" text="#000000">

  <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
    <tr>
      <td width="277">
        <a href="../index.html">
        <img src="../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
      <td width="337" align="middle">
        <font size="7">Libraries</font>
      </td>
    </tr>
  </table>

  <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" height="26" width="673">
    <tr>
      <td height="16" width="663"><a href="../more/getting_started/index.html">Getting Started</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
      </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="../tools/index.html">Tools&nbsp;</a>&nbsp;<font color="#FFFFFF">&nbsp;
      </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.boost.org">Web Site</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
      </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.boost.org/users/news/">News</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
      </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.boost.org/community/">Community</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
      </font>&nbsp;&nbsp;&nbsp;&nbsp;
      <a href="http://www.boost.org/users/faq.html">FAQ</a>&nbsp;&nbsp;<font color="#FFFFFF">&nbsp;
      </font>&nbsp;&nbsp;&nbsp;&nbsp; <a href="../more/index.htm">More Info</a></td>
    </tr>
  </table>

<dl>
  <dt><a href="#Alphabetically">Libraries Listed Alphabetically</a></dt>
  <dt><a href="#Category">Libraries Listed by Category</a></dt>
    <dl>
      <dt><a href="#Algorithms">Algorithms</a></dt>
      <dt><a href="#Workarounds">Broken compiler workarounds</a></dt>
      <dt><a href="#Concurrent">Concurrent Programming</a></dt>
      <dt><a href="#Containers">Containers</a></dt>
      <dt><a href="#Correctness">Correctness and testing</a></dt>
      <dt><a href="#Data">Data structures</a></dt>
      <dt><a href="#Domain">Domain Specific</a></dt>
      <dt><a href="#Function-objects">Function objects and higher-order programming</a></dt>
      <dt><a href="#Generic">Generic Programming</a></dt>
      <dt><a href="#Image-processing">Image processing</a></dt>
      <dt><a href="#IO">Input/Output</a></dt>
      <dt><a href="#Inter-language">Inter-language support</a></dt>
      <dt><a href="#Iterators">Iterators</a></dt>
      <dt><a href="#Emulation">Language Features Emulation</a></dt>
      <dt><a href="#Math">Math and numerics</a></dt>
      <dt><a href="#Memory">Memory</a></dt>
      <dt><a href="#Parsing">Parsing</a></dt>
      <dt><a href="#Patterns">Patterns and Idioms</a></dt>
      <dt><a href="#Preprocessor">Preprocessor Metaprogramming</a></dt>
      <dt><a href="#Programming">Programming Interfaces</a></dt>
      <dt><a href="#State">State Machines</a></dt>
      <dt><a href="#String">String and text processing</a></dt>
      <dt><a href="#System">System</a></dt>
      <dt><a href="#Metaprogramming">Template  Metaprogramming</a></dt>
      <dt><a href="#Miscellaneous">Miscellaneous</a></dt>
    </dl>
  <dt><a href="#Removed">Libraries Retired from Boost</a></dt>
</dl>

<p>See <a href="../more/getting_started.html">Getting Started</a>  page to find out
how to download, build, and install the libraries.</p>

<hr>

<h2>Libraries Listed <a name="Alphabetically">Alphabetically</a></h2>

<ul>
    <li><a href="accumulators/index.html">Accumulators</a> - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler</li>
    <li><a href="algorithm/index.html">Algorithm</a> - A collection of useful generic algorithms, from Marshall Clow</li>
    <li><a href="align/index.html">Align</a> - Memory alignment functions, allocators, and traits, from Glen Fernandes</li>
    <li><a href="any/index.html">Any</a> - Safe, generic container for single values of different value types, from Kevlin Henney</li>
    <li><a href="array/index.html">Array</a> - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis</li>
    <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>
    <li><a href="assert/index.html">Assert</a> - Customizable assert macros, from Peter Dimov</li>
    <li><a href="assign/index.html">Assign</a> - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen</li>
    <li><a href="atomic/index.html">Atomic</a> - C++11-style atomic&lt;&gt;, from Helge Bahmann, Tim Blechmann and Andrey Semashev</li>
    <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>
    <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>
    <li><a href="utility/call_traits.htm">Call Traits</a> - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al</li>
    <li><a href="chrono/index.html">Chrono</a> - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
    <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>
    <li><a href="compatibility/index.html">Compatibility</a> - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer</li>
    <li><a href="utility/compressed_pair.htm">Compressed Pair</a> - Empty member optimization, from John Maddock, Howard Hinnant, et al</li>
    <li><a href="compute/index.html">Compute</a> - Parallel/GPU-computing library, from Kyle Lutz</li>
    <li><a href="concept_check/index.html">Concept Check</a> - Tools for generic programming, from Jeremy Siek</li>
    <li><a href="config/config.htm">Config</a> - Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users</li>
    <li><a href="container/index.html">Container</a> - Standard library containers and extensions, from Ion Gazta&ntilde;aga</li>
    <li><a href="context/index.html">Context</a> - (C++11) Context switching library, from Oliver Kowalke</li>
    <li><a href="conversion/index.html">Conversion</a> - Polymorphic casts, from Dave Abrahams and Kevlin Henney</li>
    <li><a href="convert/index.html">Convert</a> - An extendible and configurable type-conversion framework, from Vladimir Batov</li>
    <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>
    <li><a href="coroutine/index.html">Coroutine</a> - Coroutine library, from Oliver Kowalke</li>
    <li><a href="coroutine2/index.html">Coroutine2</a> - (C++11) Coroutine library, from Oliver Kowalke</li>
    <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>
    <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>
    <li><a href="dll/index.html">DLL</a> - Library for comfortable work with DLL and DSO, from Antony Polukhin and Renato Tegon Forti</li>
    <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>
    <li><a href="core/doc/html/core/enable_if.html">Enable If</a> - Selective inclusion of function template overloads, from Jaakko J&auml;rvi, Jeremiah Willcock and Andrew Lumsdaine</li>
    <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>
    <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>
    <li><a href="fiber/index.html">Fiber</a> - (C++11) Userland threads library, from Oliver Kowalke</li>
    <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>
    <li><a href="flyweight/index.html">Flyweight</a> - Design pattern to manage large quantities of highly redundant objects, from Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <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 &quot;foreach&quot; 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>
    <li><a href="format/index.html">Format</a> - The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%, from Samuel Krempp</li>
    <li><a href="function/index.html">Function</a> - Function object wrappers for deferred calls or callbacks, from Doug Gregor</li>
    <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>
    <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>
    <li><a href="functional/factory/index.html">Functional/Factory</a> - Function object templates for dynamic and static object creation, from Tobias Schwinger</li>
    <li><a href="functional/forward/index.html">Functional/Forward</a> - Adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger</li>
    <li><a href="functional/hash/index.html">Functional/Hash</a> - A TR1 hash function object that can be extended to hash user defined types, from Daniel James</li>
    <li><a href="functional/overloaded_function/index.html">Functional/Overloaded Function</a> - Overload different functions into a single function object, from Lorenzo Caminiti</li>
    <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>
    <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>
    <li><a href="gil/index.html">GIL</a> - Generic Image Library, from Lubomir Bourdev and Hailin Jin</li>
    <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
    <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
    <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>
    <li><a href="heap/index.html">Heap</a> - Priority queue data structures, from Tim Blechmann</li>
    <li><a href="icl/index.html">ICL</a> - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber</li>
    <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>
    <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>
    <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>
    <li><a href="interprocess/index.html">Interprocess</a> - Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gazta&ntilde;aga</li>
    <li><a href="numeric/interval/doc/interval.htm">Interval</a> - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Herv&eacute; Br&ouml;nnimann and Sylvain Pion</li>
    <li><a href="intrusive/index.html">Intrusive</a> - Intrusive containers and algorithms, from Ion Gazta&ntilde;aga</li>
    <li><a href="io/doc/ios_state.html">IO State Savers</a> - The I/O sub-library of Boost helps segregate the large number of Boost headers. This sub-library should contain various items to use with/for the standard I/O library, from Daryle Walker</li>
    <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>
    <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>
    <li><a href="lambda/index.html">Lambda</a> - Define small unnamed function objects at the actual call site, and more, from Jaakko J&auml;rvi and Gary Powell</li>
    <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>
    <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>
    <li><a href="locale/index.html">Locale</a> - Provide localization and Unicode handling tools for C++, from Artyom Beilis</li>
    <li><a href="lockfree/index.html">Lockfree</a> - Lockfree data structures, from Tim Blechmann</li>
    <li><a href="log/index.html">Log</a> - Logging library, from Andrey Semashev</li>
    <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>
    <li><a href="math/doc/html/gcd_lcm.html">Math Common Factor</a> - Greatest common divisor and least common multiple, from Daryle Walker</li>
    <li><a href="math/doc/html/octonions.html">Math Octonion</a> - Octonions, from Hubert Holin</li>
    <li><a href="math/doc/html/quaternions.html">Math Quaternion</a> - Quaternions, from Hubert Holin</li>
    <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>
    <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>
    <li><a href="bind/mem_fn.html">Member Function</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov</li>
    <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>
    <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>
    <li><a href="algorithm/minmax/index.html">Min-Max</a> - Standard library extensions for simultaneous min/max and min/max element computations, from Herv&eacute; Br&ouml;nnimann</li>
    <li><a href="move/index.html">Move</a> - Portable move semantics for C++03 and C++11 compilers, from Ion Gazta&ntilde;aga</li>
    <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>
    <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>
    <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>
    <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&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <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>
    <li><a href="numeric/conversion/index.html">Numeric Conversion</a> - Optimized Policy-based Numeric Conversions, from Fernando Cacciola</li>
    <li><a href="numeric/odeint/index.html">Odeint</a> - Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky</li>
    <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
    <li><a href="optional/index.html">Optional</a> - A value-semantic, type-safe wrapper for representing 'optional' (or 'nullable') objects of a given type. An optional object may or may not contain a value of the underlying type, from Fernando Cacciola</li>
    <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>
    <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>
    <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>
    <li><a href="poly_collection/index.html">PolyCollection</a> - Fast containers of polymorphic objects, from Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <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>
    <li><a href="pool/index.html">Pool</a> - Memory pool management, from Steve Cleary</li>
    <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 Rene Rivera</li>
    <li><a href="preprocessor/index.html">Preprocessor</a> - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides</li>
    <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>
    <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>
    <li><a href="property_map/index.html">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek</li>
    <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>
    <li><a href="proto/index.html">Proto</a> - Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler</li>
    <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>
    <li><a href="qvm/doc/index.html">QVM</a> - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski</li>
    <li><a href="random/index.html">Random</a> - A complete system for random number generation, from Jens Maurer</li>
    <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>
    <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>
    <li><a href="rational/index.html">Rational</a> - A rational number class, from Paul Moore</li>
    <li><a href="core/ref.html">Ref</a> - A utility library for passing references to generic functions, from Jaako J&auml;rvi, Peter Dimov, Doug Gregor and Dave Abrahams</li>
    <li><a href="regex/index.html">Regex</a> - Regular expression library, from John Maddock</li>
    <li><a href="utility/utility.htm#result_of">Result Of</a> - Determines the type of a function call expression</li>
    <li><a href="scope_exit/index.html">Scope Exit</a> - Execute arbitrary code at scope exit, from Alexander Nasonov</li>
    <li><a href="serialization/index.html">Serialization</a> - Serialization for persistence and marshalling, from Robert Ramey</li>
    <li><a href="signals/index.html">Signals</a> - Managed signals &amp; slots callback implementation, from Doug Gregor</li>
    <li><a href="signals2/index.html">Signals2</a> - Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess</li>
    <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>
    <li><a href="sort/index.html">Sort</a> - High-performance templated sort functions, from Steven Ross</li>
    <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>
    <li><a href="stacktrace/index.html">Stacktrace</a> - Gather, store, copy and print backtraces, from Antony Polukhin</li>
    <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&ouml;nni</li>
    <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
    <li><a href="algorithm/string/index.html">String Algo</a> - String algorithms library, from Pavol Droba</li>
    <li><a href="core/swap.html">Swap</a> - Enhanced generic swap function, from Joseph Gauterin</li>
    <li><a href="system/index.html">System</a> - Operating system support, including the diagnostics support that will be part of the C++0x standard library, from Beman Dawes</li>
    <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>
    <li><a href="thread/index.html">Thread</a> - Portable C++ multi-threading. C++11, C++14, from Anthony Williams and Vicente J. Botet Escriba</li>
    <li><a href="throw_exception/index.html">ThrowException</a> - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski</li>
    <li><a href="timer/index.html">Timer</a> - Event timer, progress timer, and progress display classes, from Beman Dawes</li>
    <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>
    <li><a href="../doc/html/tribool.html">Tribool</a> - 3-state boolean type library, from Doug Gregor</li>
    <li><a href="tti/index.html">TTI</a> - Type Traits Introspection library, from Edward Diener</li>
    <li><a href="tuple/index.html">Tuple</a> - Ease definition of functions returning multiple values, and more, from Jaakko J&auml;rvi</li>
    <li><a href="type_erasure/index.html">Type Erasure</a> - Runtime polymorphism based on concepts, from Steven Watanabe</li>
    <li><a href="type_index/index.html">Type Index</a> - Runtime/Compile time copyable type info, from Antony Polukhin</li>
    <li><a href="type_traits/index.html">Type Traits</a> - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al</li>
    <li><a href="typeof/index.html">Typeof</a> - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt</li>
    <li><a href="numeric/ublas/index.html">uBLAS</a> - uBLAS provides 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>
    <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>
    <li><a href="unordered/index.html">Unordered</a> - Unordered associative containers, from Daniel James</li>
    <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>
    <li><a href="uuid/index.html">Uuid</a> - A universally unique identifier, from Andy Tompkins</li>
    <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>
    <li><a href="variant/index.html">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman</li>
    <li><a href="vmd/index.html">VMD</a> - Variadic Macro Data library, from Edward Diener</li>
    <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>
    <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>
</ul>

<hr>

<h2>Libraries Listed by <a name="Category">Category</a></h2>

<h3><a name="Algorithms">Algorithms</a></h3>

<ul>
    <li><a href="algorithm/index.html">Algorithm</a> - A collection of useful generic algorithms, from Marshall Clow</li>
    <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 &quot;foreach&quot; 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>
    <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>
    <li><a href="gil/index.html">GIL</a> - Generic Image Library, from Lubomir Bourdev and Hailin Jin</li>
    <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
    <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
    <li><a href="algorithm/minmax/index.html">Min-Max</a> - Standard library extensions for simultaneous min/max and min/max element computations, from Herv&eacute; Br&ouml;nnimann</li>
    <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>
    <li><a href="qvm/doc/index.html">QVM</a> - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski</li>
    <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>
    <li><a href="sort/index.html">Sort</a> - High-performance templated sort functions, from Steven Ross</li>
    <li><a href="algorithm/string/index.html">String Algo</a> - String algorithms library, from Pavol Droba</li>
    <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>
</ul>

<h3><a name="Workarounds">Broken compiler workarounds</a></h3>

<ul>
    <li><a href="compatibility/index.html">Compatibility</a> - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer</li>
    <li><a href="config/config.htm">Config</a> - Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users</li>
</ul>

<h3><a name="Concurrent">Concurrent Programming</a></h3>

<ul>
    <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>
    <li><a href="atomic/index.html">Atomic</a> - C++11-style atomic&lt;&gt;, from Helge Bahmann, Tim Blechmann and Andrey Semashev</li>
    <li><a href="compute/index.html">Compute</a> - Parallel/GPU-computing library, from Kyle Lutz</li>
    <li><a href="context/index.html">Context</a> - (C++11) Context switching library, from Oliver Kowalke</li>
    <li><a href="coroutine/index.html">Coroutine</a> - Coroutine library, from Oliver Kowalke</li>
    <li><a href="coroutine2/index.html">Coroutine2</a> - (C++11) Coroutine library, from Oliver Kowalke</li>
    <li><a href="fiber/index.html">Fiber</a> - (C++11) Userland threads library, from Oliver Kowalke</li>
    <li><a href="interprocess/index.html">Interprocess</a> - Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gazta&ntilde;aga</li>
    <li><a href="lockfree/index.html">Lockfree</a> - Lockfree data structures, from Tim Blechmann</li>
    <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>
    <li><a href="thread/index.html">Thread</a> - Portable C++ multi-threading. C++11, C++14, from Anthony Williams and Vicente J. Botet Escriba</li>
</ul>

<h3><a name="Containers">Containers</a></h3>

<ul>
    <li><a href="array/index.html">Array</a> - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis</li>
    <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>
    <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>
    <li><a href="container/index.html">Container</a> - Standard library containers and extensions, from Ion Gazta&ntilde;aga</li>
    <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>
    <li><a href="gil/index.html">GIL</a> - Generic Image Library, from Lubomir Bourdev and Hailin Jin</li>
    <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
    <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
    <li><a href="icl/index.html">ICL</a> - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber</li>
    <li><a href="intrusive/index.html">Intrusive</a> - Intrusive containers and algorithms, from Ion Gazta&ntilde;aga</li>
    <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>
    <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&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <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>
    <li><a href="poly_collection/index.html">PolyCollection</a> - Fast containers of polymorphic objects, from Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <li><a href="property_map/index.html">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek</li>
    <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>
    <li><a href="unordered/index.html">Unordered</a> - Unordered associative containers, from Daniel James</li>
    <li><a href="variant/index.html">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman</li>
</ul>

<h3><a name="Correctness">Correctness and testing</a></h3>

<ul>
    <li><a href="assert/index.html">Assert</a> - Customizable assert macros, from Peter Dimov</li>
    <li><a href="concept_check/index.html">Concept Check</a> - Tools for generic programming, from Jeremy Siek</li>
    <li><a href="stacktrace/index.html">Stacktrace</a> - Gather, store, copy and print backtraces, from Antony Polukhin</li>
    <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
    <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>
</ul>

<h3><a name="Data">Data structures</a></h3>

<ul>
    <li><a href="any/index.html">Any</a> - Safe, generic container for single values of different value types, from Kevlin Henney</li>
    <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>
    <li><a href="utility/compressed_pair.htm">Compressed Pair</a> - Empty member optimization, from John Maddock, Howard Hinnant, et al</li>
    <li><a href="container/index.html">Container</a> - Standard library containers and extensions, from Ion Gazta&ntilde;aga</li>
    <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>
    <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>
    <li><a href="heap/index.html">Heap</a> - Priority queue data structures, from Tim Blechmann</li>
    <li><a href="icl/index.html">ICL</a> - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber</li>
    <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&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <li><a href="optional/index.html">Optional</a> - A value-semantic, type-safe wrapper for representing 'optional' (or 'nullable') objects of a given type. An optional object may or may not contain a value of the underlying type, from Fernando Cacciola</li>
    <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>
    <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>
    <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>
    <li><a href="tuple/index.html">Tuple</a> - Ease definition of functions returning multiple values, and more, from Jaakko J&auml;rvi</li>
    <li><a href="type_erasure/index.html">Type Erasure</a> - Runtime polymorphism based on concepts, from Steven Watanabe</li>
    <li><a href="uuid/index.html">Uuid</a> - A universally unique identifier, from Andy Tompkins</li>
    <li><a href="variant/index.html">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman</li>
</ul>

<h3><a name="Domain">Domain Specific</a></h3>

<ul>
    <li><a href="chrono/index.html">Chrono</a> - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
    <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>
    <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>
    <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>
    <li><a href="uuid/index.html">Uuid</a> - A universally unique identifier, from Andy Tompkins</li>
</ul>

<h3><a name="Function-objects">Function objects and higher-order programming</a></h3>

<ul>
    <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>
    <li><a href="function/index.html">Function</a> - Function object wrappers for deferred calls or callbacks, from Doug Gregor</li>
    <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>
    <li><a href="functional/factory/index.html">Functional/Factory</a> - Function object templates for dynamic and static object creation, from Tobias Schwinger</li>
    <li><a href="functional/forward/index.html">Functional/Forward</a> - Adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger</li>
    <li><a href="functional/hash/index.html">Functional/Hash</a> - A TR1 hash function object that can be extended to hash user defined types, from Daniel James</li>
    <li><a href="functional/overloaded_function/index.html">Functional/Overloaded Function</a> - Overload different functions into a single function object, from Lorenzo Caminiti</li>
    <li><a href="lambda/index.html">Lambda</a> - Define small unnamed function objects at the actual call site, and more, from Jaakko J&auml;rvi and Gary Powell</li>
    <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>
    <li><a href="bind/mem_fn.html">Member Function</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov</li>
    <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>
    <li><a href="core/ref.html">Ref</a> - A utility library for passing references to generic functions, from Jaako J&auml;rvi, Peter Dimov, Doug Gregor and Dave Abrahams</li>
    <li><a href="utility/utility.htm#result_of">Result Of</a> - Determines the type of a function call expression</li>
    <li><a href="signals/index.html">Signals</a> - Managed signals &amp; slots callback implementation, from Doug Gregor</li>
    <li><a href="signals2/index.html">Signals2</a> - Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess</li>
    <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>
</ul>

<h3><a name="Generic">Generic Programming</a></h3>

<ul>
    <li><a href="utility/call_traits.htm">Call Traits</a> - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al</li>
    <li><a href="concept_check/index.html">Concept Check</a> - Tools for generic programming, from Jeremy Siek</li>
    <li><a href="core/doc/html/core/enable_if.html">Enable If</a> - Selective inclusion of function template overloads, from Jaakko J&auml;rvi, Jeremiah Willcock and Andrew Lumsdaine</li>
    <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>
    <li><a href="gil/index.html">GIL</a> - Generic Image Library, from Lubomir Bourdev and Hailin Jin</li>
    <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>
    <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
    <li><a href="property_map/index.html">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek</li>
    <li><a href="qvm/doc/index.html">QVM</a> - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski</li>
    <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
    <li><a href="tti/index.html">TTI</a> - Type Traits Introspection library, from Edward Diener</li>
    <li><a href="type_traits/index.html">Type Traits</a> - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al</li>
</ul>

<h3><a name="Image-processing">Image processing</a></h3>

<ul>
    <li><a href="gil/index.html">GIL</a> - Generic Image Library, from Lubomir Bourdev and Hailin Jin</li>
</ul>

<h3><a name="IO">Input/Output</a></h3>

<ul>
    <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>
    <li><a href="assign/index.html">Assign</a> - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen</li>
    <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>
    <li><a href="format/index.html">Format</a> - The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%, from Samuel Krempp</li>
    <li><a href="io/doc/ios_state.html">IO State Savers</a> - The I/O sub-library of Boost helps segregate the large number of Boost headers. This sub-library should contain various items to use with/for the standard I/O library, from Daryle Walker</li>
    <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>
    <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>
    <li><a href="serialization/index.html">Serialization</a> - Serialization for persistence and marshalling, from Robert Ramey</li>
</ul>

<h3><a name="Inter-language">Inter-language support</a></h3>

<ul>
    <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>
</ul>

<h3><a name="Iterators">Iterators</a></h3>

<ul>
    <li><a href="gil/index.html">GIL</a> - Generic Image Library, from Lubomir Bourdev and Hailin Jin</li>
    <li><a href="graph/index.html">Graph</a> - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.</li>
    <li><a href="graph_parallel/index.html">GraphParallel</a> - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.</li>
    <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>
    <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
    <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>
</ul>

<h3><a name="Emulation">Language Features Emulation</a></h3>

<ul>
    <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>
    <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 &quot;foreach&quot; 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>
    <li><a href="move/index.html">Move</a> - Portable move semantics for C++03 and C++11 compilers, from Ion Gazta&ntilde;aga</li>
    <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>
    <li><a href="scope_exit/index.html">Scope Exit</a> - Execute arbitrary code at scope exit, from Alexander Nasonov</li>
    <li><a href="type_index/index.html">Type Index</a> - Runtime/Compile time copyable type info, from Antony Polukhin</li>
    <li><a href="typeof/index.html">Typeof</a> - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt</li>
</ul>

<h3><a name="Math">Math and numerics</a></h3>

<ul>
    <li><a href="accumulators/index.html">Accumulators</a> - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler</li>
    <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>
    <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>
    <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>
    <li><a href="numeric/interval/doc/interval.htm">Interval</a> - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Herv&eacute; Br&ouml;nnimann and Sylvain Pion</li>
    <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>
    <li><a href="math/doc/html/gcd_lcm.html">Math Common Factor</a> - Greatest common divisor and least common multiple, from Daryle Walker</li>
    <li><a href="math/doc/html/octonions.html">Math Octonion</a> - Octonions, from Hubert Holin</li>
    <li><a href="math/doc/html/quaternions.html">Math Quaternion</a> - Quaternions, from Hubert Holin</li>
    <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>
    <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>
    <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>
    <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>
    <li><a href="numeric/conversion/index.html">Numeric Conversion</a> - Optimized Policy-based Numeric Conversions, from Fernando Cacciola</li>
    <li><a href="numeric/odeint/index.html">Odeint</a> - Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky</li>
    <li><a href="utility/operators.htm">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek</li>
    <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>
    <li><a href="qvm/doc/index.html">QVM</a> - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski</li>
    <li><a href="random/index.html">Random</a> - A complete system for random number generation, from Jens Maurer</li>
    <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>
    <li><a href="rational/index.html">Rational</a> - A rational number class, from Paul Moore</li>
    <li><a href="numeric/ublas/index.html">uBLAS</a> - uBLAS provides 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>
</ul>

<h3><a name="Memory">Memory</a></h3>

<ul>
    <li><a href="align/index.html">Align</a> - Memory alignment functions, allocators, and traits, from Glen Fernandes</li>
    <li><a href="pool/index.html">Pool</a> - Memory pool management, from Steve Cleary</li>
    <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>
    <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>
</ul>

<h3><a name="Parsing">Parsing</a></h3>

<ul>
    <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>
</ul>

<h3><a name="Patterns">Patterns and Idioms</a></h3>

<ul>
    <li><a href="utility/compressed_pair.htm">Compressed Pair</a> - Empty member optimization, from John Maddock, Howard Hinnant, et al</li>
    <li><a href="flyweight/index.html">Flyweight</a> - Design pattern to manage large quantities of highly redundant objects, from Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz</li>
    <li><a href="signals/index.html">Signals</a> - Managed signals &amp; slots callback implementation, from Doug Gregor</li>
    <li><a href="signals2/index.html">Signals2</a> - Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess</li>
    <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>
</ul>

<h3><a name="Preprocessor">Preprocessor Metaprogramming</a></h3>

<ul>
    <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>
    <li><a href="preprocessor/index.html">Preprocessor</a> - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides</li>
    <li><a href="vmd/index.html">VMD</a> - Variadic Macro Data library, from Edward Diener</li>
</ul>

<h3><a name="Programming">Programming Interfaces</a></h3>

<ul>
    <li><a href="function/index.html">Function</a> - Function object wrappers for deferred calls or callbacks, from Doug Gregor</li>
    <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>
</ul>

<h3><a name="State">State Machines</a></h3>

<ul>
    <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>
    <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&ouml;nni</li>
</ul>

<h3><a name="String">String and text processing</a></h3>

<ul>
    <li><a href="convert/index.html">Convert</a> - An extendible and configurable type-conversion framework, from Vladimir Batov</li>
    <li><a href="format/index.html">Format</a> - The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%, from Samuel Krempp</li>
    <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>
    <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>
    <li><a href="locale/index.html">Locale</a> - Provide localization and Unicode handling tools for C++, from Artyom Beilis</li>
    <li><a href="regex/index.html">Regex</a> - Regular expression library, from John Maddock</li>
    <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>
    <li><a href="algorithm/string/index.html">String Algo</a> - String algorithms library, from Pavol Droba</li>
    <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>
    <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>
    <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>
</ul>

<h3><a name="System">System</a></h3>

<ul>
    <li><a href="chrono/index.html">Chrono</a> - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba</li>
    <li><a href="context/index.html">Context</a> - (C++11) Context switching library, from Oliver Kowalke</li>
    <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>
    <li><a href="dll/index.html">DLL</a> - Library for comfortable work with DLL and DSO, from Antony Polukhin and Renato Tegon Forti</li>
    <li><a href="fiber/index.html">Fiber</a> - (C++11) Userland threads library, from Oliver Kowalke</li>
    <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>
    <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>
    <li><a href="stacktrace/index.html">Stacktrace</a> - Gather, store, copy and print backtraces, from Antony Polukhin</li>
    <li><a href="system/index.html">System</a> - Operating system support, including the diagnostics support that will be part of the C++0x standard library, from Beman Dawes</li>
    <li><a href="thread/index.html">Thread</a> - Portable C++ multi-threading. C++11, C++14, from Anthony Williams and Vicente J. Botet Escriba</li>
</ul>

<h3><a name="Metaprogramming">Template  Metaprogramming</a></h3>

<ul>
    <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>
    <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>
    <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>
    <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>
    <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>
    <li><a href="proto/index.html">Proto</a> - Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler</li>
    <li><a href="static_assert/index.html">Static Assert</a> - Static assertions (compile time assertions), from John Maddock</li>
    <li><a href="tti/index.html">TTI</a> - Type Traits Introspection library, from Edward Diener</li>
    <li><a href="type_traits/index.html">Type Traits</a> - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al</li>
</ul>

<h3><a name="Miscellaneous">Miscellaneous</a></h3>

<ul>
    <li><a href="conversion/index.html">Conversion</a> - Polymorphic casts, from Dave Abrahams and Kevlin Henney</li>
    <li><a href="convert/index.html">Convert</a> - An extendible and configurable type-conversion framework, from Vladimir Batov</li>
    <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>
    <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>
    <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>
    <li><a href="log/index.html">Log</a> - Logging library, from Andrey Semashev</li>
    <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 Rene Rivera</li>
    <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>
    <li><a href="core/swap.html">Swap</a> - Enhanced generic swap function, from Joseph Gauterin</li>
    <li><a href="throw_exception/index.html">ThrowException</a> - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski</li>
    <li><a href="timer/index.html">Timer</a> - Event timer, progress timer, and progress display classes, from Beman Dawes</li>
    <li><a href="../doc/html/tribool.html">Tribool</a> - 3-state boolean type library, from Doug Gregor</li>
    <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>
    <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>
</ul>


<p>[Category suggestions from Aleksey Gurtovoy, Beman Dawes and Vicente J. Botet Escrib&aacute;]</p>

<hr>

<h2>Libraries <a name="Removed">Retired</a> from Boost</h2>

<ul>
    <li>compose - Functional composition adapters for the STL,
        from Nicolai Josuttis.  Removed in Boost version 1.32.
        Please use <a href="bind/bind.html">Bind</a> or <a
        href="lambda/index.html">Lambda</a> instead.</li>
</ul>

<hr>

<p>Revised
<!--webbot bot="Timestamp" s-type="EDITED"
s-format="%d %b %Y" startspan -->19 Feb 2015<!--webbot bot="Timestamp" endspan i-checksum="14409" --></p>

<p>&copy; Copyright Beman Dawes 2000-2004</p>
<p>Distributed under the Boost Software License, Version 1.0.
(See file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
</p>

</body>
</html>