Latest News

August 11, 2005 - Version 1.33.0 

New Libraries

  * Iostreams Library:

    Framework for defining streams, stream buffers and i/o filters, from
    Jonathan Turkanis.

  * Functional/Hash Library:

    A TR1 hash function object that can be extended to hash user defined
    types, from Daniel James.

  * Parameter Library:

    Write functions that accept arguments by name: especially useful when a
    function has more than one argument with a useful default value, since
    named arguments can be passed in any order.

  * Pointer Container Library:

    Containers for storing heap-allocated polymorphic objects to ease
    OO-programming, from Thorsten Ottosen.

  * Wave:

    Standards conformant implementation of the mandated C99/C++ preprocessor
    functionality packed behind an easy to use iterator interface, from
    Hartmut Kaiser.

Updated Libraries

  * Assignment Library:

    Support for Pointer Container Library and new efficient functions
    ref_list_of() and cref_list_of() for generating anonymous ranges.

  * Bind Library:

    Bind expressions now support comparisons and negation.
    Example: bind(& X::name, _1) < bind(&X::name, _2).

  * Date-Time Library:

    - Added local time and time zone classes.
    - Added format-based Input/Output facets.
    - For a complete list of changes, see the library change history.

  * Graph Library:

    Introduced several new algorithms and improved existing algorithms:

    -□ Experimental Python bindings, from Doug Gregor and Indiana University.
    -□ floyd warshall all pairs shortest paths, from Lauren Foutz and Scott
       Hill.
    -  astar search, from Kristopher Beevers and Jufeng Peng.
    -  fruchterman reingold force directed layout, from Doug Gregor and 
       Indiana University.
    -  biconnected components and articulation points, from Jeremy Siek, Janusz
       Piwowarski, and Doug Gregor.
    -  sequential vertex coloring has been updated, tested, and documented.
    -  gursoy atun layout, from Jeremiah Willcock and Doug Gregor of Indiana
       University.
    -  king ordering, from D. Kevin McGrath of Indiana University.
    -  cuthill mckee ordering has been recast as an invocation of breadth
       first search and now supports graphs with multiple components.
    -  dijkstra shortest paths now uses a relaxed heap 1) as its priority
       queue, improving its complexity to O(V log V) and improving
       real-world performance for larger graphs.
    -  read graphviz now has a new, Spirit-based parser that works for all
       graph types and supports arbitrary properties on the graph, from 
       Ron Garcia. The old, Bison-based GraphViz reader has been deprecated
       and will be removed in a future Boost release. write graphviz also
       supports dynamic properties.

    -  subgraph: get_property now refers to the subgraph property, not the
       root graph's property.
    -  See the history for additional changes and bug fixes.

  • Multi-index Containers Library:

    -   New hashed indices.
    -   Added serialization support.
    -   For a complete list of changes, see the library release notes.

  * Program Options Library:

    - □ Option descriptions are now printed with word wrapping.
    -   Command line parser can bypass unregistered options, instread of
        throwing.
    -   Removed support for "implicit" (optional) values.
    -   New customization method 'command_line_parser::extra_style_parser'.
        Unlike 'additional_parser', allows the user to parse several tokens
        and return a vector of options, not just a single option.
    -   Work with disabled exceptions.

  * Property Map Library:

    -   Introduced the dynamic properties class, which provides dynamically-
        typed access to a set of property maps.
  * Random Number Library:
  
    improved initialization for mersenne_twister, algorithm by Makoto
    Matsumoto and Takuji Nishimura, implemented for Boost by Jens Maurer.

    Note: All test vectors for mersenne_twisters constructed or seeded
          without parameters or with a single unsigned int parameter become
          invalid.

  * Range Library:
  
    Minor addition of convenience functions to iterator range like front(),
    back() and operator[]().

  * Regex Library:
    -   Rewritten front end parser now supports (?imsx-imsx) constructs, plus
        lookbehind assertions and conditional expressions.
    -   Thin wrapper classes improve integration with MFC/ATL code.
    -   Full (optional) Unicode support via the ICU library.

    Refer to the regex history page for more information on these and other
    small changes.

  * Serialization Library:
    -  □DLL version.
    -   Auto-linking.
    -   Serialization of variants.
    -   Improved serialization of shared pointers.

  * Signals Library:
  
    -   Added slot blocking/unblocking, from Frantz Maerten.
    -   Huge improvements to signal invocation performance from Robert Zeh.

