Boost
Releases
arrow_drop_down
Prior Release (1.36.0)
Platform File SHA256 Hash
Unix boost_1_36_0.tar.gz 7f790....b942c
boost_1_36_0.tar.bz2 9a4a0....bcdef
Windows boost_1_36_0.zip ac743....02490
boost_1_36_0.7z 6319e....a627a

Version 1.36.0

August 14th, 2008 12:00 GMT

Documentation

New Libraries

  • Accumulators:
    • Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler.
  • Exception:
    • A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads, from Emil Dotchevski.
  • Units:
    • Zero-overhead dimensional analysis and unit/quantity manipulation and conversion, from Matthias Schabel and Steven Watanabe
  • Unordered:
    • associative containers, from Daniel James.

Updated Libraries

  • Asio:
    • Added support for serial ports.
    • Added support for UNIX domain sockets.
    • Added support for raw sockets and ICMP.
    • Added wrappers for POSIX stream-oriented file descriptors (excluding regular files).
    • Added wrappers for Windows stream-oriented HANDLEs such as named pipes (requires HANDLEs that work with I/O completion ports).
    • Added wrappers for Windows random-access HANDLEs such as files (requires HANDLEs that work with I/O completion ports).
    • Added support for reactor-style operations (i.e. they report readiness but perform no I/O) using a new null_buffers type.
    • Added an iterator type for bytewise traversal of buffer sequences.
    • Added new read_until() and async_read_until() overloads that take a user-defined function object for locating message boundaries.
    • Added an experimental two-lock queue (enabled by defining BOOST_ASIO_ENABLE_TWO_LOCK_QUEUE) that may provide better io_service scalability across many processors.
    • Various fixes, performance improvements, and more complete coverage of the custom memory allocation support.
  • Assign: list_of() (and its variants) now has overloaded comparison operators. This allows you to write test code such as BOOST_CHECK_EQUAL( my_container, list_of(2)(3)(4)(5) );.
  • Circular Buffer:
    • Default constructor now doesn't allocate memory, and sets the capacity of the buffer to 0
  • Foreach: BOOST_FOREACH macro for easily iterating over the elements of a sequence, from Eric Niebler.
    • New BOOST_REVERSE_FOREACH macro for iterating over a sequence in reverse.
  • Function:
    • Improved allocator support, from Emil Dotchevski.
  • Hash: Minor updates and fixes, for more info see the change log.
  • Interprocess:
    • Added anonymous shared memory for UNIX systems.
    • Fixed missing move semantics on managed memory classes.
    • Added copy_on_write and open_read_only options for shared memory and mapped file managed classes.
    • shared_ptr is movable and supports aliasing.
  • Intrusive:
    • Added linear<> and cache_last<> options to singly linked lists.
    • Added optimize_multikey<> option to unordered container hooks.
    • Optimized unordered containers when store_hash option is used in the hook.
    • Implementation changed to avoid explicit use of try-catch blocks and be compilable with exceptions disabled.
  • Math:
    • Added new non-central Chi-Square, Beta, F and T distributions.
    • Added Exponential Integral and Zeta special functions.
    • Added Rounding, Truncation, and Unit-in-the-last-place functions.
    • Added support for compile time powers of a runtime base.
    • Added a few SSE2 based optimisations for the Lanczos approximations.
  • MPI:
    • Added support for non-blocking operations in Python, from Andreas Klöckner.
    • Added support for graph topologies.
  • Multi-index Containers: Minor additions and maintenance fixes. Consult the library release notes for further information.
  • PtrContainer: Support for a few more containers, and addition of insert iterators. For details see upgrading details.
  • Spirit: Integrated the "Classic" Spirit V1.8.x code base with Spirit V2, "The New Generation". See Change Log.
  • Thread:
    • New generic lock and try_lock functions for locking multiple mutexes at once.
    • Rvalue reference support for move semantics where the compilers supports it.
    • A few bugs fixed and missing functions added (including the serious win32 condition variable bug).
    • scoped_try_lock types are now backwards-compatible with Boost 1.34.0 and previous releases.
    • Support for passing function arguments to the thread function by supplying additional arguments to the thread constructor.
    • Backwards-compatibility overloads added for timed_lock and timed_wait functions to allow use of xtime for timeouts.
  • Wave:
    • Wave V2.0 is a new major release introducing some breaking API changes, preventing it to be used with Boost versions earlier than V1.36.0. Mainly, the API and hook interface have been streamlined for more consistency.
    • Fixed a couple of bugs, improved regression test system to include testing of the preporcessing hooks interface (for details see: Changelog).
  • Xpressive: Regular expressions that can be written as strings or as expression templates, and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler.
    • skip() for specifying which parts of the input sequence to ignore when matching it against a regex.
    • regex_replace() accepts formatter objects and formatter expressions in addition to format strings.
    • Range-based regex_replace() algorithm.
    • Fix crash when semantic actions are placed in look-aheads, look-behinds or independent sub-expressions.

Compilers Tested

Boost's primary test compilers are:

  • GCC 4.01 on Mac OS X 10.4.10 with both Intel and Power PC
  • GCC 4.2.3 on Ubuntu Linux 8.04.1
  • HP C/aC++ B3910B A.06.17 on HP-UX 64-bit
  • Visual C++ 9.0 SP1 beta, 8.0 SP1, and 7.1, all on Windows XP SP-2

Boost's additional test compilers include:

  • GCC 4.2.1 on FreeBSD-7
  • GCC 4.1.2 on NetBSD
  • HP aCC on OS: HP-UX B.11.31 U ia64 and HP-UX B.11.31 9000/800 RISC
  • IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40
  • Intel 9.1, 10.0, and 10.1, on Mac OS X 10.4.1
  • Compaq C++ V7.1-006 for Compaq Tru64 Unix on an OSF1 V5.1 platform.
  • Sun C++ 5.7, 5.8, 5.9 and GCC 3.4.6 on Sun Solaris 5.10.
  • On Linux:
    • GCC 3.4.3, 4.0.1, 4.2.1, 4.3.0.
    • GCC 4.3.0 with C++0x extensions.
    • GCC 3.4.6, 4.1.1, 4.2.1 on 64 bit linux.
    • Intel C++ 8.1, 9.0 and 9.1.
    • QLogic PathScale(TM) Compiler Suite: Version 3.1
    • pgCC 7.2-3 64-bit target on x86-64 Linux
  • On Windows:
    • Intel 10.1, with Visual C++ 9 backend.
    • Lots of tests on Visual C++ 7.1, 8.0, 9.0
    • Visual C++ 7.1 with Apache C++ Standard Library 4.2.x branch.
    • Visual C++ 8.0 with STLport 5.1
    • Visual C++ 8.0 with STLport 5.1 cross-compiling for Windows Mobile 5.0 Pocket PC SDK (ARMV4I).
    • Borland 5.6.4, 5.8.2, 5.9.3
    • 64 bit Intel 10.1, with Visual C++ 9 backend.
    • 64 bit Visual C++ 9.
    • Comeau C++ 4.3.10.1 beta 2, with Visual C++ 9 backend.

Acknowledgements

Beman Dawes, Rene Rivera, and Daniel James managed this release.

Dependencies

There were 30 dependencies added (in 12 libraries) and 2 dependencies removed (in 2 libraries) this release.

Contributors

Hartmut Kaiser
Hartmut Kaiser
Contributor
John Maddock
John Maddock
Contributor
Beman Dawes
Beman Dawes
Contributor
Christopher Kohlhoff
Christopher Kohlhoff
Contributor
Joel de Guzman
Joel de Guzman
Contributor
Gennadiy Rozental
Gennadiy Rozental
Contributor
Robert Ramey
Robert Ramey
Contributor
Daniel James
Daniel James
Contributor
Paul A. Bristow
Paul A. Bristow
Contributor
Ion Gaztañaga
Ion Gaztañaga
Contributor
Douglas Gregor
Douglas Gregor
Contributor
Matthias Troyer
Matthias Troyer
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Peter Dimov
Peter Dimov
Contributor
Anthony Williams
Contributor
Emil Dotchevski
Emil Dotchevski
Contributor
Niels Dekker
Contributor
Tobias Schwinger
Tobias Schwinger
Contributor
Thorsten Jørgen Ottosen
Thorsten Jørgen Ottosen
Contributor
Eric Niebler
Eric Niebler
Contributor
Jürgen Hunold
Jürgen Hunold
Contributor
Dave Abrahams
Dave Abrahams
Contributor
Boris Gubenko
Contributor
Joaquin M. López Muñoz
Joaquin M. López Muñoz
Contributor
K. Noel Belcourt
K. Noel Belcourt
Contributor
Markus Schöpflin
Contributor
Andreas Huber
Contributor
Rene Rivera
Rene Rivera
Contributor
Marshall Clow
Marshall Clow
Contributor
João Abecasis
João Abecasis
Contributor
David Deakins
David Deakins
Contributor
Roland Schwarz
Roland Schwarz
Contributor
Martin Wille
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
Pavol Droba
Contributor
Gennaro Prota
Contributor
Andrew Sutton
Andrew Sutton
Contributor
Aleksey Gurtovoy
Contributor
Nicola Musatti
Nicola Musatti
Contributor
Alexander Nasonov
Alexander Nasonov
Contributor
Steven Watanabe
Steven Watanabe
Contributor