Boost logo

Boost Announcement :

From: Doug Gregor (doug.gregor_at_[hidden])
Date: 2005-08-17 22:03:07


Boost 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:
         o Added local time and time zone classes.
         o Added format-based Input/Output facets.
         o For a complete list of changes, see the library change history.
   * Graph Library: Introduced several new algorithms and improved
     existing algorithms:
         o Experimental Python bindings, from Doug Gregor and Indiana
           University.
         o floyd_warshall_all_pairs_shortest_paths, from Lauren Foutz
           and Scott Hill.
         o astar_search, from Kristopher Beevers and Jufeng Peng.
         o fruchterman_reingold_force_directed_layout, from Doug
           Gregor and Indiana University.
         o biconnected_components and articulation_points, from
           Jeremy Siek, Janusz Piwowarski, and Doug Gregor.
         o sequential_vertex_coloring has been updated, tested, and
           documented.
         o gursoy_atun_layout, from Jeremiah Willcock and Doug Gregor
           of Indiana University.
         o king_ordering, from D. Kevin McGrath of Indiana University.
         o cuthill_mckee ordering has been recast as an invocation of
           breadth_first_search and now supports graphs with multiple
           components.
         o dijkstra_shortest_paths now uses a relaxed heap as
           its priority queue, improving its complexity to O(V log V) and
           improving real-world performance for larger graphs.
         o 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.
         o subgraph: get_property now refers to the subgraph
           property, not the root graph's property.
         o See the history for additional changes and bug fixes.
   * Multi-index Containers Library:
         o New hashed indices.
         o Added serialization support.
         o For a complete list of changes, see the library release notes.
   * Program Options Library:
         o Option descriptions are now printed with word wrapping.
         o Command line parser can bypass unregistered options,
           instead of throwing.
         o Removed support for "implicit" (optional) values.
         o 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.
         o 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:
         o Rewritten front end parser now supports (?imsx-imsx)
           constructs, plus lookbehind assertions and conditional
           expressions.
         o Thin wrapper classes improve integration with MFC/ATL code.
         o 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:
         o DLL version.
         o Auto-linking.
         o Serialization of variants.
         o Improved seialization of shared pointers.
   * Signals Library: added slot blocking/unblocking, from Frantz
     Maerten. Huge improvements to signal invocation performance from
     Robert Zeh.

Supported Compilers

Boost is tested on a wide range of compilers and platforms. Since
Boost libraries rely on modern C++ features not available in all
compilers, not all Boost libraries will work with every compiler. The
following compilers and platforms have been extensively tested with
Boost, although many other compilers and platforms will work as
well. For more information, see the regression test results.

   * Apple GCC 3.x on Mac OS X.
   * Borland C++ 5.6.4 on Windows.
   * GNU C++ 2.95.3 (with and without STLport), 3.2.x., 3.3.x, 3.4.x,
     4.0.x on Windows, Linux and Solaris.
   * Intel C++ 8.1, 9.0 on Windows, Linux.
   * Metrowerks CodeWarrior 8.3, 9.4, 9.5 on Mac OS X and Windows.
   * Microsoft Visual C++ 6.0 (sp5, with and without STLport), 7.0,
     7.1, 8.0 beta. Note: due to intermittent problems with Visual C++ 8.0
     beta, and the presence of a variety of pre-release compiler builds, we
     are unable to guarantee compatibility until the final compiler is
     released.

Acknowledgements

Douglas Gregor managed this release.

A great number of people contributed their time and expertise to make
this release possible. Special thanks go to Aleksey Gurtovoy and Misha
Bergal, who managed to keep the regression testing system working
throughout the release process; David Abrahams, Beman Dawes, Aleksey
Gurtovoy, Rene Rivera and Jonathan Turkanis for greatly improving the
quality of this release; Rene Rivera for the new Boost web page
design; and Zoltan "cad" Juhasz for the new Boost logo.


Boost-announce list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk