Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Version 1.45.0

Version 1.45.0

November 19th, 2010 16:00 GMT

Documentation

Downloads
PlatformFile
unixboost_1_45_0.tar.bz2
boost_1_45_0.tar.gz
windowsboost_1_45_0.7z
boost_1_45_0.zip

Updated Libraries

  • Asio:
    • Fixed a problem on kqueue-based platforms where a deadline_timer may never fire if the io_service is running in a background thread (#4568).
    • Fixed a const-correctness issue that prevented valid uses of has_service<> from compiling (#4638).
    • Fixed MinGW cross-compilation (#4491).
    • Removed dependency on deprecated Boost.System functions (#4672).
    • Ensured close()/closesocket() failures are correctly propagated (#4573).
    • Added a check for errors returned by InitializeCriticalSectionAndSpinCount (#4574).
    • Added support for hardware flow control on QNX (#4625).
    • Always use pselect() on HP-UX, if it is available (#4578).
    • Ensured handler arguments are passed as lvalues (#4744).
    • Fixed Windows build when thread support is disabled (#4680).
    • Fixed a Windows-specific problem where deadline_timer objects with expiry times set more than 5 minutes in the future may never expire (#4745).
    • Fixed the resolver backend on BSD platforms so that an empty service name resolves to port number 0, as per the documentation (#4690).
    • Fixed read operations so that they do not accept buffer sequences of type const_buffers_1 (#4746).
    • Redefined Protocol and id to avoid clashing with Objective-C++ keywords (#4191).
    • Fixed a vector reallocation performance issue that can occur when there are many active deadline_timer objects (#4780).
    • Fixed the kqueue backend so that it compiles on NetBSD (#4662).
    • Fixed the socket io_control() implementation on 64-bit Mac OS X and BSD platforms (#4782).
    • Fixed a Windows-specific problem where failures from accept() are incorrectly treated as successes (#4859).
    • Deprecated the separate compilation header <boost/asio/impl/src.cpp> in favour of <boost/asio/impl/src.hpp> (#4560).
  • Config:
    • Added new defect macros, BOOST_NO_VARIADIC_MACROS and BOOST_NO_NUMERIC_LIMITS_LOWEST.
    • Minor fixes (#4670, #4563, #4474, #4508).
  • Flyweight:
    • Fixed a hanging problem with intermodule_holder in Win32 platforms related to a Boost.Interprocess issue described at ticket #4606.
    • Removed an internal assertion incompatible with program termination via std::exit.
  • Foreach:
    • Fix ambiguitiy by making auto_any constructor explicit.
  • Fusion:
    • Added BOOST_FUSION_ADAPT_ADT, BOOST_FUSION_ADAPT_TPL_ADT, BOOST_FUSION_ADAPT_ASSOC_ADT and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT.
  • Graph:
    • Added Stoer-Wagner min-cut algorithm contributed by Daniel Trebbien.
    • Added implicit graph (implicit_graph) and A* (astar_maze) examples contributed by W. P. McNeill.
    • Added bundled property support for graph properties.
    • Fixed bugs #4556, #4622, #4631, #4715, #4753, #4758 and #4793 plus others not in Trac.
    • Fixed documentation bugs #4731 and #4737.
  • Interprocess:
  • Math:
    • Added inverse gamma distribution and inverse chi_square and scaled inverse chi_square.
    • Added warnings about potential ambiguity with std random library in distribution and function names.
    • Editorial revision of documentation, and added FAQ.
  • Meta State Machine:
  • MultiArray:
    • Fixes for bugs #3581, #3820, #3989, #4032, plus other bugs not in Trac.
    • Added new examples and test cases.
  • Proto:
    • Knock down value of proto::N, fixes bug #4602,
    • Support non-rtti compilers
    • Fix bug with proto::matches, array types and the wildcard pattern.
    • Make Proto work on MSVC with the /clr option
    • Add const-qualified overloads of proto::eval
  • Spirit: Spirit V2.4.1, see the 'What's New' section for details.
  • TypeTraits:
    • Added new traits add_rvalue_reference, add_lvalue_reference and common_type.
    • Minor fixes to is_signed, is_unsigned and is_virtual_base_of.
  • uBLAS:
    • Tickets closed:
    • Mixed types operation are possible and new tests added (like matrix<complex>+matrix<double>),
    • New features:
      • a new size<> operator is available. For example size<1>(A+B) give the number of rows of the sum of matrices A and B,
  • Unordered:
    • Fix inserting from iterators which return by copy from operator* in boost::unordered_map and boost::unordered_set.
  • Wave:
  • Xpressive:
    • xpressive::as handles wide-char sub_match objects, fixes bug #4496

Updated Tools

  • Boostbook:
    • Fix syntax highlighter for comments at the end of code blocks.
  • Quickbook:
    • Fix command line macros.
    • Nested code snippets.
    • Nested documentation info comments.
    • Revert xml escaping document info, it broke some documentation files (will now be in 1.6).
    • Some other small tweaks. See the change log for more info.

Compilers Tested

Boost's primary test compilers are:

  • Linux:
    • GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.1.
    • GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0.
    • Intel: 10.1, 11.0, 11.1
    • Pathscale: 3.2.
  • OS X:
    • GCC: 4.0.1, 4.2.1, 4.4
    • GCC, C++0x mode: 4.4.
    • Intel: 11.1
  • Windows:
    • Visual C++: 7.1, 8.0, 9.0 and 10.0.
    • GCC, mingw: 4.3.3.
  • FreeBSD:
    • GCC: 4.2.1, 32 bit.
    • GCC: 4.2.1, 64 bit.

Boost's additional test compilers include:

  • Linux:
    • GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.0, 4.6.0 (dev version).
    • GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0.
    • Intel: 10.1, 11.0, 11.1.
    • pgCC 10.1.
    • PathScale: 3.2.
    • Clang from subversion.
  • OS X:
    • Intel C++ Compiler: 10.1, 11.0, 11.1.
    • GCC: 4.0.1, 4.2.1, 4.4.4
    • GCC, C++0x mode: 4.4.4
    • Clang from subversion.
  • Windows:
    • Borland: 5.9.3, 6.1.3 (2009), 6.2.1 (2010), 6.3.0
    • GCC, mingw: 4.3.3, 4.4.5, 4.5.1
    • GCC, mingw, C++0x mode: 4.5.1
    • Visual C++: 7.1, 8.0, 9.0, 10.0
  • AIX:
    • IBM XL C/C++ Enterprise Edition, V11.1.0.0.
  • FreeBSD:
    • GCC 4.2.1, 64 bit.
  • Solaris:
    • Sun C++: 5.10.

Acknowledgements

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