<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE boostbook PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
<boostbook xmlns:xi="http://www.w3.org/2001/XInclude"
           last-revision="$Date: 2004/01/24 18:26:29 $">
  <title>The Boost C++ Libraries</title>

  <chapter id="libraries">
    <title>The Boost C++ Libraries</title>

    <section>
      <title>Libraries Listed Alphabetically</title>
      <librarylist/>
    </section>
    <section>
      <title>Libraries Listed by Category</title>
      <librarycategorylist>
        <librarycategorydef name="category:string-text">
          String and text processing
        </librarycategorydef>
        <librarycategorydef name="category:containers">
          Containers
        </librarycategorydef>
        <librarycategorydef name="category:iterators">
          Iterators
        </librarycategorydef>
        <librarycategorydef name="category:algorithms">
          Algorithms
        </librarycategorydef>
        <librarycategorydef name="category:higher-order">
          Function objects and higher-order programming
        </librarycategorydef>
        <librarycategorydef name="category:generic"> 
          Generic programming
        </librarycategorydef>
        <librarycategorydef name="category:template"> 
          Template metaprogramming
        </librarycategorydef>
        <librarycategorydef name="category:preprocessor"> 
          Preprocessor metaprogramming
        </librarycategorydef>
        <librarycategorydef name="category:concurrent"> 
          Concurrent programming
        </librarycategorydef>
        <librarycategorydef name="category:math">
          Math and numerics
        </librarycategorydef>
        <librarycategorydef name="category:testing">
          Correctness and testing
        </librarycategorydef>
        <librarycategorydef name="category:data-structures">
          Data structures
        </librarycategorydef>
        <librarycategorydef name="category:io">
          Input/Output
        </librarycategorydef>
        <librarycategorydef name="category:lang">
          Inter-language support
        </librarycategorydef>
        <librarycategorydef name="category:memory">
          Memory
        </librarycategorydef>
        <librarycategorydef name="category:parsing">
          Parsing
        </librarycategorydef>
        <librarycategorydef name="category:misc"> 
          Miscellaneous
        </librarycategorydef>
        <librarycategorydef name="category:broken"> 
          Broken compiler workarounds
        </librarycategorydef>
      </librarycategorylist>  
    </section>
  </chapter>

  <xi:include href="../../libs/any/doc/any.xml"/>
  <xi:include href="../../libs/array/doc/array.xml"/>

  <library name="Bind" dirname="bind" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Peter</firstname>
        <surname>Dimov</surname>
      </author>
      <librarypurpose>Generalized binders for function/object/pointers and member functions</librarypurpose>
      <librarycategory name="category:higher-order"/>
    </libraryinfo>
  </library>

  <library name="Mem_fn" dirname="bind" html-only="1" 
           url="../../libs/bind/mem_fn.html">
    <libraryinfo>
      <author>
        <firstname>Peter</firstname>
        <surname>Dimov</surname>
      </author>
      <librarypurpose>Generalized binders for member functions</librarypurpose>
      <librarycategory name="category:higher-order"/>
    </libraryinfo>
  </library>

  <library name="Call Traits" dirname="call_traits" html-only="1"
           url="../../libs/utility/call_traits.htm">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Maddock</surname>
      </author>
      <author>
        <firstname>Howard</firstname>
        <surname>Hinnant</surname>
      </author>
      <librarypurpose>Defines types for passing parameters</librarypurpose>
      <librarycategory name="category:generic"/>
    </libraryinfo>
  </library>

  <library name="Compatibility" dirname="compatibility" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Ralf</firstname>
        <surname>Grosse-Kunstleve</surname>
      </author>
      <author>
        <firstname>Jens</firstname>
        <surname>Maurer</surname>
      </author>
      <librarypurpose>Help for non-conforming standard libraries</librarypurpose>
      <librarycategory name="category:broken"/>
    </libraryinfo>
  </library>

  <library name="Compose" dirname="compose" html-only="1"
           url="../../libs/compose/index.htm">
    <libraryinfo>
      <author>
        <firstname>Nicolai</firstname>
        <surname>Josuttis</surname>
      </author>
   
      <librarypurpose>Functional composition adapters for the STL</librarypurpose>
      <librarycategory name="category:higher-order"/>
    </libraryinfo>
  </library>

  <library name="Compressed Pair" dirname="compressed_pair" html-only="1"
           url="../../libs/utility/compressed_pair.htm">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Maddock</surname>
      </author>
      <author>
        <firstname>Howard</firstname>
        <surname>Hinnant</surname>
      </author>
      <librarypurpose>Empty member optimization</librarypurpose>
      <librarycategory name="category:data-structures"/>
      <librarycategory name="category:misc"/>
    </libraryinfo>
  </library>

  <library name="Concept Check" dirname="concept_check" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jeremy</firstname>
        <surname>Siek</surname>
      </author>
      <librarypurpose>Tools for generic programming</librarypurpose>
      <librarycategory name="category:generic"/>
      <librarycategory name="category:testing"/>
    </libraryinfo>
  </library>

  <library name="Config" dirname="config" html-only="1">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Maddock</surname>
      </author>
      <author>
        <firstname>Beman</firstname>
        <surname>Dawes</surname>
      </author>
      <author>
        <firstname>Vesa</firstname>
        <surname>Karvonen</surname>
      </author>

      <librarypurpose>Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users</librarypurpose>
      <librarycategory name="category:broken"/>
    </libraryinfo>
  </library>

  <library name="Conversion" dirname="conversion" html-only="1"
           url="../../libs/conversion/index.htm">
    <libraryinfo>
      <author>
        <firstname>Dave</firstname>
        <surname>Abrahams</surname>
      </author>
      <author>
        <firstname>Kevlin</firstname>
        <surname>Henney</surname>
      </author>

      <librarypurpose>Numeric, polymorphic, and lexical casts</librarypurpose>
      <librarycategory name="category:misc"/>
    </libraryinfo>
  </library>

  <library name="CRC" dirname="crc" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Daryle</firstname>
        <surname>Walker</surname>
      </author>

      <librarypurpose>Cyclic Redundancy Code</librarypurpose>
      <librarycategory name="category:misc"/>
    </libraryinfo>
  </library>

  <library name="Date-Time" dirname="date_time" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jeff</firstname>
        <surname>Garland</surname>
      </author>

      <librarypurpose>Date-Time library</librarypurpose>
      <librarycategory name="category:misc"/>
    </libraryinfo>
  </library>

  <library name="Dynamic Bitset" dirname="dynamic_bitset" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jeremy</firstname>
        <surname>Siek</surname>
      </author>
      <author>
        <firstname>Chuck</firstname>
        <surname>Allison</surname>
      </author>
      <librarypurpose>A runtime sized version of <code>std::bitset</code></librarypurpose>
      <librarycategory name="category:containers"/> 
    </libraryinfo>
  </library>
  
  <library name="Format" dirname="format" html-only="1"
           url="../../libs/format/index.htm">
    <libraryinfo>
      <author>
        <firstname>Samuel</firstname>
        <surname>Krempp</surname>
      </author>

      <librarypurpose>Type-safe 'printf-like' format operations</librarypurpose>
      <librarycategory name="category:string-text"/>
      <librarycategory name="category:io"/>
    </libraryinfo>
  </library>

  <library name="Filesystem" dirname="filesystem" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Beman</firstname>
        <surname>Dawes</surname>
      </author>

      <librarypurpose>Portable paths, iteration over directories, and other useful filesystem operations</librarypurpose>
      <librarycategory name="category:misc"/>
    </libraryinfo>
  </library>

  <xi:include href="../../libs/function/doc/function.xml"/>

  <library name="Functional" dirname="functional" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Mark</firstname>
        <surname>Rodgers</surname>
      </author>
      <librarypurpose>Enhanced function object adaptors</librarypurpose>
      <librarycategory name="category:higher-order"/>
    </libraryinfo>
  </library>

  <library name="Graph" dirname="graph" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jeremy</firstname>
        <surname>Siek</surname>
      </author>
      <author>
        <firstname>University of Notre Dame</firstname>
        <surname>Team</surname>
      </author>
      <librarypurpose>Generic graph components and algorithms</librarypurpose>
      <librarycategory name="category:containers"/>
      <librarycategory name="category:iterators"/>
      <librarycategory name="category:algorithms"/>
    </libraryinfo>
  </library>

  <library name="Integer" dirname="integer" html-only="1"
           url="../../libs/integer/index.htm">
    <libraryinfo>
      <author>
        <firstname>various</firstname>
        <surname>authors</surname>
      </author>

      <librarypurpose>Headers to ease dealing with integral types</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>
  
  <library name="Interval" dirname="numeric/interval" html-only="1"
           url="../../libs/numeric/interval/doc/index.html">
    <libraryinfo>
      <author>
        <firstname>Guillaume</firstname>
        <surname>Melquiond</surname>
      </author>
      <author>
        <firstname>Herv&eacute;</firstname>
        <surname>Br&ouml;nnimann</surname>
      </author>
      <author>
        <firstname>Sylvain</firstname>
        <surname>Pion</surname>
      </author>

      <librarypurpose>Extends the usual arithmetic functions to mathematical intervals</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="I/O State Savers" dirname="io" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Daryle</firstname>
        <surname>Walker</surname>
      </author>

      <librarypurpose>Save I/O state to prevent jumbled data</librarypurpose>
      <librarycategory name="category:io"/>
    </libraryinfo>
  </library>
 
  <library name="Iterator Adaptors" dirname="utility" html-only="1"
           url="../../libs/utility/iterator_adaptors.htm">
    <libraryinfo>
      <author>
        <firstname>Dave</firstname>
        <surname>Abrahams</surname>
      </author>
      <author>
        <firstname>Jeremy</firstname>
        <surname>Siek</surname>
      </author>
      <author>
        <firstname>John</firstname>
        <surname>Potter</surname>
      </author>

      <librarypurpose>Adapt a base type into a standard conforming iterator</librarypurpose>
      <librarycategory name="category:iterators"/>
    </libraryinfo>
  </library>

  <library name="Lambda" dirname="lambda" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jaakko</firstname>
        <surname>J&auml;rvi</surname>
      </author>
      <author>
        <firstname>Gary</firstname>
        <surname>Powell</surname>
      </author>
      <librarypurpose>Define small unnamed function objects at the actual call site, and more</librarypurpose>
      <librarycategory name="category:higher-order"/>
    </libraryinfo>
  </library>

  <library name="Math" dirname="math" html-only="1">
    <libraryinfo>
      <author>
        <firstname>various</firstname>
        <surname>authors</surname>
      </author>

      <librarypurpose>Several contributions in the domain of mathematics</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Math/Common Factor" dirname="math/common_factor" html-only="1"
           url="../../libs/math/doc/common_factor.html">
    <libraryinfo>
      <author>
        <firstname>Daryle</firstname>
        <surname>Walker</surname>
      </author>

      <librarypurpose>Greatest common divisor and least common multiple</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Math/Octonion" dirname="math/octonion" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Hubert</firstname>
        <surname>Holin</surname>
      </author>

      <librarypurpose>Octonions</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Math/Quaternion" dirname="math/quaternion" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Hubert</firstname>
        <surname>Holin</surname>
      </author>

      <librarypurpose>Quaternions</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Math/Special Functions" dirname="math/special_functions" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Hubert</firstname>
        <surname>Holin</surname>
      </author>

      <librarypurpose>Mathematical special functions such as atanh, sinc, and sinhc</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="MPL" dirname="mpl" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Aleksey</firstname>
        <surname>Gurtovoy</surname>
      </author>

      <librarypurpose>Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes</librarypurpose>
      <librarycategory name="category:template"/>
    </libraryinfo>
  </library>

  <library name="Multi Array" dirname="multi_array" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Ron</firstname>
        <surname>Garcia</surname>
      </author>

      <librarypurpose>Multidimensional containers and adaptors for arrays of contiguous data</librarypurpose>
      <librarycategory name="category:math"/>
      <librarycategory name="category:containers"/>
    </libraryinfo>
  </library>

  <library name="Operators" dirname="utility" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Dave</firstname>
        <surname>Abrahams</surname>
      </author>
      <author>
        <firstname>Jeremy</firstname>
        <surname>Siek</surname>
      </author>

      <librarypurpose>Templates ease arithmetic classes and iterators</librarypurpose>
      <librarycategory name="category:generic"/>
      <librarycategory name="category:iterators"/>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Optional" dirname="optional" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Fernando</firstname>
        <surname>Cacciola</surname>
      </author>

      <librarypurpose>Discriminated-union wrapper for optional values</librarypurpose>
      <librarycategory name="category:misc"/>
      <librarycategory name="category:data-structures"/>
    </libraryinfo>
  </library>

  <library name="Pool" dirname="pool" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Steve</firstname>
        <surname>Cleary</surname>
      </author>

      <librarypurpose>Memory pool management</librarypurpose>
      <librarycategory name="category:memory"/>
    </libraryinfo>
  </library>

  <library name="Preprocessor" dirname="preprocessor" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Vesa</firstname>
        <surname>Karvonen</surname>
      </author>
      <author>
        <firstname>Paul</firstname>
        <surname>Mensonides</surname>
      </author>

      <librarypurpose>Preprocessor metaprogramming tools including repetition and recursion</librarypurpose>
      <librarycategory name="category:preprocessor"/>
    </libraryinfo>
  </library>

  <library name="Property Map" dirname="property_map" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jeremy</firstname>
        <surname>Siek</surname>
      </author>
      <librarypurpose>Concepts defining interfaces which map key objects to value objects</librarypurpose>
      <librarycategory name="category:containers"/>
      <librarycategory name="category:generic"/>
    </libraryinfo>
  </library>
  
  <library name="Python" dirname="python" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Dave</firstname>
        <surname>Abrahams</surname>
      </author>
      <librarypurpose>Reflects C++ classes and functions into <ulink url="http://www.python.org">Python</ulink></librarypurpose>
      <librarycategory name="category:lang"/>
    </libraryinfo>
  </library>

  <library name="Random" dirname="random" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jens</firstname>
        <surname>Maurer</surname>
      </author>
      <librarypurpose>A complete system for random number generation</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Rational" dirname="rational" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Paul</firstname>
        <surname>Moore</surname>
      </author>
      <librarypurpose>A rational number class</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <xi:include href="../../libs/bind/doc/ref.xml"/>

  <library name="Regex" dirname="regex" html-only="1"
           url="../../libs/regex/index.htm">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Maddock</surname>
      </author>
      <librarypurpose>Regular expression library</librarypurpose>
      <librarycategory name="category:string-text"/>
    </libraryinfo>
  </library>

  <xi:include href="../../libs/signals/doc/signals.xml"/>

  <library name="Smart Pointer" dirname="smart_ptr" html-only="1"
           url="../../libs/smart_ptr/index.htm">
    <libraryinfo>
      <author>
        <firstname>Greg</firstname>
        <surname>Colvin</surname>
      </author>
      <author>
        <firstname>Beman</firstname>
        <surname>Dawes</surname>
      </author>
      <author>
        <firstname>Peter</firstname>
        <surname>Dimov</surname>
      </author>
      <author>
        <firstname>Darin</firstname>
        <surname>Adler</surname>
      </author>
      <librarypurpose>Five smart pointer class templates</librarypurpose>
      <librarycategory name="category:memory"/>
    </libraryinfo>
  </library>  

  <library name="Spirit" dirname="spirit" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Joel</firstname>
        <surname>de Guzman</surname>
      </author>
      <author>
        <firstname>team</firstname>
      </author>

      <librarypurpose>LL parser framework represents parsers directly as EBNF grammars in inlined C++</librarypurpose>
      <librarycategory name="category:text"/>
      <librarycategory name="category:parsing"/>
    </libraryinfo>
  </library>

  <library name="Static Assert" dirname="static_assert" html-only="1">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Maddock</surname>
      </author>
      <librarypurpose>Static assertions (compile time assertions)</librarypurpose>
      <librarycategory name="category:template"/>
      <librarycategory name="category:generic"/>
      <librarycategory name="category:testing"/>
    </libraryinfo>
  </library>

  <library name="Test" dirname="test" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Gennadiy</firstname>
        <surname>Rozental</surname>
      </author>
      <librarypurpose>Support for simple program testing, full unit testing, and for program execution monitoring</librarypurpose>
      <librarycategory name="category:testing"/>
    </libraryinfo>
  </library>

  <library name="Threads" dirname="thread" html-only="1">
    <libraryinfo>
      <author>
        <firstname>William</firstname>
        <surname>Kempf</surname>
      </author>
      <librarypurpose>Portable C++ multi-threading</librarypurpose>
      <librarycategory name="category:concurrent"/>
    </libraryinfo>
  </library>

  <library name="Timer" dirname="timer" html-only="1" 
           url="../../libs/timer/index.htm">
    <libraryinfo>
      <author>
        <firstname>Beman</firstname>
        <surname>Dawes</surname>
      </author>
      <librarypurpose>Event timer, progress timer, and progress display classes</librarypurpose>
      <librarycategory name="category:misc"/>
    </libraryinfo>
  </library>

  <library name="Tokenizer" dirname="tokenizer" html-only="1"
           url="../../libs/tokenizer/index.htm">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Bandela</surname>
      </author>
      <librarypurpose>Break of a string or other character sequence into a series of tokens</librarypurpose>
      <librarycategory name="category:string-text"/>
      <librarycategory name="category:iterators"/>
    </libraryinfo>
  </library>

  <library name="Tuple" dirname="tuple" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Jaakko</firstname>
        <surname>J&auml;rvi</surname>
      </author>
      <librarypurpose>Ease definition of functions returning multiple values, and more</librarypurpose>
      <librarycategory name="category:data-structures"/>
    </libraryinfo>
  </library>

  <library name="Type Traits" dirname="type_traits" html-only="1"
           url="../../libs/type_traits/index.htm">
    <libraryinfo>
      <author>
        <firstname>John</firstname>
        <surname>Maddock</surname>
      </author>
      <author>
        <firstname>Steve</firstname>
        <surname>Cleary</surname>
      </author>
      <author>
        <firstname>others</firstname>
      </author>
      <librarypurpose>Templates for fundamental properties of types</librarypurpose>
      <librarycategory name="category:generic"/>
      <librarycategory name="category:template"/>
    </libraryinfo>
  </library>

  <library name="uBLAS" dirname="numeric/ublas" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Joerg</firstname>
        <surname>Walter</surname>
      </author>
      <author>
        <firstname>Mathias</firstname>
        <surname>Koch</surname>
      </author>
      <librarypurpose>Basic linear algebra for dense, packed and sparse matrices</librarypurpose>
      <librarycategory name="category:math"/>
    </libraryinfo>
  </library>

  <library name="Utility" dirname="utility" html-only="1">
    <libraryinfo>
      <author>
        <firstname>Dave</firstname>
        <surname>Abrahams</surname>
      </author>
      <author>
        <firstname>others</firstname>
      </author>

      <librarypurpose>Class noncopyable  plus <functionname>checked_delete</functionname>, <functionname>checked_array_delete</functionname>, <functionname>next</functionname>,  <functionname>prior</functionname>  function templates, plus base-from-member idiom</librarypurpose>
      <librarycategory name="category:misc"/>
      <librarycategory name="category:memory"/>
      <librarycategory name="category:algorithms"/>
    </libraryinfo>
  </library>

  <xi:include href="../../libs/variant/doc/variant.xml"/>
  <xi:include href="../../tools/boostbook/doc/boostbook.xml"/>
  <xi:include href="../../libs/concept_check/doc/reference/concepts.xml"/>
</boostbook>
