Boost logo

Boost :

Subject: [boost] Boost 1.38.0 beta 2 available
From: Beman Dawes (bdawes_at_[hidden])
Date: 2009-01-30 09:36:59

Boost 1.38.0 beta 2 available is available from SourceForge.

Please report any problems or comments to the users or developers mailing lists.


Version 1.38.0

New Libraries

     * Flyweight:
          + Design pattern to manage large quantities of highly
redundant objects, from Joaquín M López Muñoz.
     * ScopeExit:
          + Execute arbitrary code at scope exit, from Alexander Nasonov.
     * Swap:
          + Enhanced generic swap function, from Joseph Gauterin.

Updated Libraries

     * Accumulators:
          + Add rolling_sum, rolling_count and rolling_mean accumulators.
     * Date_Time:
          + Added support for formatting and reading time durations
longer than 24 hours with new formatter: %0.
          + Removed the testfrmwk.hpp file from the public include directory.
          + Fixed several bugs and compile errors.
          + For full details see the change history
     * Exception:
          + Improved and more customizable diagnostic_information output.
     * Hash:
          + boost/functional/detail/container_fwd.hpp has been moved
to boost/detail/container_fwd.hpp. The current location is deprecated.
          + For more detail, see the library changelog.
     * Interprocess:
          + Updated documentation to show rvalue-references funcions
instead of emulation functions.
          + More non-copyable classes are now movable.
          + Move-constructor and assignments now leave moved object in
default-constructed state instead of just swapping contents.
          + Several bugfixes (#2391, #2431, #1390, #2570, #2528).
     * Intrusive:
          + New treap-based containers: treap, treap_set, treap_multiset.
          + Corrected compilation bug for Windows-based 64 bit compilers.
          + Corrected exception-safety bugs in container constructors.
          + Updated documentation to show rvalue-references funcions
instead of emulation functions.
     * Math:
          + Added Johan Råde's optimised floating point classification routines.
          + Fixed code so that it compiles in GCC's -pedantic mode
(bug report #1451).
     * Multi-index Containers: Some redundant type definitions have
been deprecated. Consult the library release notes for further
     * Proto:
          + Fix problem with SFINAE of binary operators (Bug 2407).
          + Fix proto::call transform for callable transforms with >3 arguments.
          + result_of::value changed behavior for array-by-value terminals.
          + unpack_expr requires only Forward Sequences rather than
Random Access Sequences.
          + Deprecate legacy undocumented
macros to help with repetitive code generation
          + Support for nullary expressions with tag types other than
          + Allow 0- and 1-argument variants of proto::or_ and proto::and_
     * Regex:
          + Breaking change: empty expressions, and empty alternatives
are now allowed when using the Perl regular expression syntax. This
change has been added for Perl compatibility, when the new
syntax_option_type no_empty_expressions is set then the old behaviour
is preserved and empty expressions are prohibited. This is issue
          + Added support for Perl style ${n} expressions in format
strings (issue #2556).
          + Added support for accessing the location of
sub-expressions within the regular expression string (issue #2269).
          + Fixed compiler compatibility issues #2244, #2514, and #2458.
     * Unordered:
          + Use boost::swap.
          + Use a larger prime number list for selecting the number of buckets.
          + Use aligned storage to store the types.
          + Add support for C++0x initializer lists where they're available.
          + For more detail, see the library changelog.
     * Xpressive:
          + basic_regex gets nested syntax_option_flags and value_type
typedef, for compatibility with std::basic_regex
          + Ported to Proto v4; Proto v2 at boost/xpressive/proto has
been removed.
          + regex_error inherits from boost::exception

Other Changes

   Experimental support for building Boost with CMake has been
introduced in this version. For more details see the wiki, Discussion
is taking place on the Boost-cmake mailing list.

Compilers Tested

   Boost's primary test compilers are:
     * TODO
     * GCC 4.0.1 on OS X 10.4.10 and 10.5.2 on Intel and 10.4.9 on Power PC.
     * GCC 4.3.2 on Ubuntu Linux.
     * GCC 4.3.3 on Unstable Debian.
     * GCC 4.2.1 on HP-UX 64-bit.
     * HP C/aC++ B3910B A.06.17 on HP-UX 64-bit.
     * Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP.

   Boost's additional test compilers include:
     * OS X:
          + GCC 4.0.1 on OS X 10.4.10 and 10.5.2 on Intel, OS X 10.4.9
on PowerPC
          + Intel 9.1, 10.0 on OS X 10.4.10
          + Intel 10.1, 11.0 on OS X 10.5.2
     * On Linux:
          + GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux
          + GCC 4.1.2 on 64-bit Redhat Server 5.1
          + GCC 3.4.3, GCC 4.0.1, GCC 4.2.4 and GCC 4.3.2 on Red Hat
Enterprise Linux
          + GCC 4.3.2 with C++0x extensions
          + GCC 4.2.1 on OpenSuSE Linux
          + pgCC 8.0-0a 64-bit target on Red Hat Enterprise Linux
          + QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red
Hat Enterprise Linux
     * IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX
     * GCC 4.2.1 on FreeBSD 7.
     * GCC 4.2.1 on HP-UX Integrity
     * HP C/aC++ B3910B A.06.17 on HP-UX 64-bit.



Boost list run by bdawes at, gregod at, cpdaniel at, john at