Boost
Releases
arrow_drop_down
Prior Release (1.40.0)
April 13, 2013
Dependencies
There were 41 dependencies added (in 11 libraries) and 1 dependency removed (in 1 library) this release.
Platform File SHA256 Hash
Unix boost_1_40_0.tar.bz2 36cf4....1530c
boost_1_40_0.tar.gz 10f1a....ae0d7
Windows boost_1_40_0.7z 76062....b24e0
boost_1_40_0.zip 9e173....5bccf

Version 1.40.0

August 27th, 2009 17:00 GMT

Documentation

Update

Added missing notes for Graph and Property Map.

Boost.CMake

Boost.CMake is now distributed separately. The cmake build for boost is BROKEN in the tarballs above. See the Boost.CMake wiki page for pointers to working versions.

Updated Libraries

  • Accumulators:
    • Works on GCC 4.4.
  • Asio:
    • Added a new ping example to illustrate the use of ICMP sockets.
    • Changed the buffered*_stream<> templates to treat 0-byte reads and writes as no-ops, to comply with the documented type requirements for SyncReadStream, AsyncReadStream, SyncWriteStream and AsyncWriteStream.
    • Changed some instances of the throw keyword to boost::throw_exception() to allow Asio to be used when exception support is disabled. Note that the SSL wrappers still require exception support (#2754).
    • Made Asio compatible with the OpenSSL 1.0 beta (#3256).
    • Eliminated a redundant system call in the Solaris /dev/poll backend.
    • Fixed a bug in resizing of the bucket array in the internal hash maps (#3095).
    • Ensured correct propagation of the error code when a synchronous accept fails (#3216).
    • Ensured correct propagation of the error code when a synchronous read or write on a Windows HANDLE fails.
    • Fixed failures reported when _GLIBCXX_DEBUG is defined (#3098).
    • Fixed custom memory allocation support for timers (#3107).
    • Tidied up various warnings reported by g++ (#1341, #2618).
    • Various documentation improvements, including more obvious hyperlinks to function overloads, header file information, examples for the handler type requirements, and adding enum values to the index (#3157, #2620).
  • Circular Buffer:
  • Foreach:
    • Workaround for conflict with Python headers (#3000).
  • Function:
  • Fusion:
    • Improved compile times for fusion::vector.
  • Graph:
    • Merged in the Parallel Boost Graph Library, giving a full suite of graph algorithms and data structures for distributed-memory computers (such as clusters).
    • Updates to the interface of the compressed sparse row graph, including constructors from unsorted edge lists.
    • An implicit grid graph, saving memory over using the former generator.
    • New algorithms: Dijkstra's single-source shortest path algorithm without a separate color map and an algorithm to find maximal common subgraphs between two graphs.
    • Assorted bug fixes.
  • Hash:
    • Automatically configure the float functions using template metaprogramming instead of trying to configure every possibility manually.
  • Interprocess:
    • Windows shared memory is created in Shared Documents folder so that it can be shared between services and processes
    • Fixed bugs #2967, #2973, #2992, #3138, #3166, #3205.
  • Intrusive:
    • Code cleanup in tree_algorithms.hpp and avl_tree_algorithms.hpp
    • Fixed bug #3164.
  • MPL:
    • Added mpl::char_ and mpl::string for compile-time string manipulation, based on multichar literals (#2905).
    • Updated MPL Reference Manual.
    • Bug fixes.
  • Program.Options:
    • Support for building with disabled exceptions (#2096).
    • Unicode parser no longer drops original tokens (#2425).
    • Fixed crash on user-inserted items in variables_map (#2782).
  • Property Map:
    • Moved property map code into a separate directory, boost/property_map/. The old files exist and forward to the new ones; the previous files directly in boost/ will be removed in Boost 1.42.0.
    • Moved distributed property maps to boost::graph::parallel namespace.
    • Added a property map based on a boost::shared_array, providing a simpler interface.
  • Proto:
    • PrimitiveTransforms have stricter conformance to ResultOf protocol. (Warning: some invalid code may break.)
    • Add a sensible default for proto::_default's template parameter.
    • Improved default evaluation strategy for pointers to members.
    • GCC 3.4 portability fixes (#3021).
    • Work around Visual C++'s non-std-compliant ciso646 macros.
  • Random:
    • Made the constructors of all the generators call the copy constructor when passed a non-const reference.
    • Changed seeding functions to accept any arithmetic type. As a side-effect, the exact signature of seed changed for some classes.
    • Major bug fixes in uniform_int.
  • Serialization:
    • Removed deprecated headers: boost/static_warning.hpp, boost/state_saver.hpp, boost/smart_cast.hpp, boost/pfto.hpp. Use the the equivalent headers in the boost/serialization/ directory instead (#3062).
    • detail::archive_serializer_map should now be used instead of detail::archive_pointer_iserializer. For more details see the library release notes.
  • Unordered:
    • Implement emplace for all compilers, not just ones with rvalue references and variadic templates (#1978).
    • Create less buckets by default.
    • Some minor tweaks for better compiler support (#2908, #3096, #3082).
  • Xpressive:
    • Works on Visual C++ 10.0 (#3124).

Build System

The default naming of libraries in Unix-like environment now matches system conventions, and does not include various decorations. Naming of libraries on Cygwin was also fixed. Support for beta versions of Microsoft Visual Studio 10 was added. With gcc, 64-bit compilation no longer requires that target architecture be specified.

Updated Tools

  • Boostbook:
    • Hide INTERNAL ONLY enums in doxygen documentation (#3242).
    • Tweaked appearance of member classes/structs/unions in a class synopsis.
  • Quickbook:
    • Support python code snippets (#3029).
    • Add teletype source mode (#1202)

Compilers Tested

Boost's primary test compilers are:

  • OS X:
    • GCC 4.0.1 on Intel Tiger and Leopard
    • GCC 4.0.1 on PowerPC Tiger
  • Linux:
    • GCC 4.3.3 on Ubuntu Linux.
  • Windows:
    • Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP.

Boost's additional test compilers include:

  • Linux:
    • Intel 9.0 on Red Hat Enterprise Linux.
    • Intel 10.0 on Red Hat Enterprise Linux.
    • Intel 10.1 on 64-bit Linux Redhat 5.1 Server.
    • Intel 10.1 on Suse Linux on 64 bit Itanium.
    • Intel 11.0 on Red Hat Enterprise Linux.
    • Intel 11.1 on Red Hat Enterprise Linux.
    • GCC 3.4.3, GCC 4.0.1, GCC 4.2.4, GCC 4.3.3 and GCC 4.4.0 on Red Hat Enterprise Linux.
    • GCC 4.3.3 and GCC 4.4.0 with C++0x extensions on Red Hat Enterprise Linux.
    • GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux.
    • GCC 4.1.2 on Suse Linux on 64 bit Itanium.
    • GCC 4.1.2 on 64-bit Redhat Server 5.1.
    • GCC Open64 4.2.2 on Red Hat Enterprise Linux.
    • GCC 4.3.4 on Debian unstable.
    • QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise Linux.
    • GCC version 4.2.0 (PathScale 3.2 driver) on 64-bit Red Hat Enterprise Linux.
    • Sun 5.9 on Red Hat Enterprise Linux.
  • OS X:
    • Intel 10.1, 11.0 on Intel Leopard.
    • Intel 10.1, 11.0 on Intel Tiger.
    • GCC 4.0.1, 4.2.1 on Intel Leopard.
    • GCC 4.0.1 on Intel Tiger.
    • GCC 4.0.1 on PowerPC Tiger.
  • Windows:
    • Visual C++ 7.1 on XP.
    • Visual C++ 9.0 on XP.
    • Visual C++ 9.0 on Vista.
    • Visual C++ 9.0 on Vista 64-bit.
    • Visual C++ 9.0, using STLport 5.2, on XP and Windows Mobile 5.0.
    • Visual C++ 10.0 beta.
    • Borland 5.9.3, 6.1.0, 6.1.3.
    • Borland C++ Builder 2007 and 2009.
    • Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
    • Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 64-bit.
    • GCC 4.3.3 and 4.4.0, on Mingw with C++0x features.
  • AIX:
    • IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40.
  • Solaris:
    • Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10.
    • GCC 3.4.6 on Solaris 5.10.

Acknowledgements

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

Contributors

John Maddock
John Maddock
Contributor
Jeremiah Willcock
Jeremiah Willcock
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
Beman Dawes
Beman Dawes
Contributor
Daniel James
Daniel James
Contributor
Andrew Sutton
Andrew Sutton
Contributor
Paul A. Bristow
Paul A. Bristow
Contributor
Eric Niebler
Eric Niebler
Contributor
Douglas Gregor
Douglas Gregor
Contributor
Christopher Kohlhoff
Christopher Kohlhoff
Contributor
Steven Watanabe
Steven Watanabe
Contributor
Aleksey Gurtovoy
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Ronald Garcia
Ronald Garcia
Contributor
Daniel Frey
Daniel Frey
Contributor
Hartmut Kaiser
Hartmut Kaiser
Contributor
Emil Dotchevski
Emil Dotchevski
Contributor
Frank Mori Hess
Frank Mori Hess
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Ion Gaztañaga
Ion Gaztañaga
Contributor
Nicholas Edmonds
Nicholas Edmonds
Contributor
Hailin Jin
Hailin Jin
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Thijs van den Berg
Thijs van den Berg
Contributor
Lubomir Bourdev
Contributor
Jürgen Hunold
Jürgen Hunold
Contributor
Bruno Lalande
Bruno Lalande
Contributor
Joaquin M. López Muñoz
Joaquin M. López Muñoz
Contributor
Robert Ramey
Robert Ramey
Contributor
Boris Gubenko
Contributor
Ralf W. Grosse-Kunstleve
Contributor
Andreas Huber
Contributor
Gennadiy Rozental
Gennadiy Rozental
Contributor
Matthias Troyer
Matthias Troyer
Contributor
Peter Dimov
Peter Dimov
Contributor
Aaron Windsor
Aaron Windsor
Contributor
Gennaro Prota
Contributor
Jan Gaspar
Contributor
Dave Abrahams
Dave Abrahams
Contributor
Rene Rivera
Rene Rivera
Contributor
Jurko Gospodnetić
Jurko Gospodnetić
Contributor
François Barel
François Barel
Contributor
David Deakins
David Deakins
Contributor
Daryle Walker
Daryle Walker
Contributor
K. Noel Belcourt
K. Noel Belcourt
Contributor