Boost
Releases
arrow_drop_down
Prior Release (1.57.0)
October 30, 2014
Dependencies
There were 14 dependencies added (in 9 libraries) and 8 dependencies removed (in 8 libraries) this release.
Platform File SHA256 Hash
Unix boost_1_57_0.tar.bz2 910c8....64967
boost_1_57_0.tar.gz fea9c....17fa5
Windows boost_1_57_0.7z f7a67....5fd71
boost_1_57_0.zip fd67c....3f032

Version 1.57.0

November 3rd, 2014 21:55 GMT

Documentation

Updated Libraries

  • Any:
    • RTTI is not required any more (TypeIndex library is used for RTTI emulation)
    • Fixed #8958
  • Asio:
    • Fixed the kqueue reactor so that it works on FreeBSD (#10606).
    • Fixed an issue in the kqueue reactor which resulted in spinning when using serial ports on Mac OS (#10496).
    • Fixed kqueue reactor support for read-only file descriptors (#10367).
    • Fixed a compile error when using the /dev/poll reactor (#10350, #10572).
    • Changed the Windows backend to use WSASocketW, as WSASocketA has been deprecated (#10534).
    • Fixed some warnings reported by Visual C++ 2013 (#10376).
    • Fixed integer type used in the WinRT version of the byte-order conversion functions (#10539).
    • Changed documentation to indicate that use_future and spawn() are not made available when including the asio.hpp convenience header (#10567).
    • Explicitly marked asio::strand as deprecated. Use asio::io_service::strand instead.
  • Circular Buffer:
    • Fixed some warnings and move_if_noexcept from Boost.Move is used #7888
  • Config:
    • BOOST_HAS_PRAGMA_DETECT_MISMATCH macro was added
  • Container:
  • Coroutine:
    • optionally register stacks with valgrind
    • #10386 MSVC link error in asymmetric_coroutine.hpp: symbol already defined
    • #10536 call to 'begin(...pull_coroutine< R > & c)' is ambiguous
  • Flyweight:
    • Added serialization support via Boost Serialization.
    • flyweight default constructor was made explicit in Boost 1.56, which introduces a regression in some initialization scenarios. The former non-explicit default constructor has been restored (ticket #10439).
  • Geometry:
    • Improvements
      • The support of parameters convertible to value_type in rtree insert(), remove() and count() functions
    • Solved tickets
      • 8402 Implicit conversion warnings
      • 9354 Bug in winding strategy affecting within() and covered_by() for non-cartesian coordinate systems
      • 10177 Missing include
      • 10345 Distance fails to compile for some coordinate types
      • 10398 Wrong neighbour check in buffer, calculating turns
      • 10421 Invalid Point-Box distance for spherical CS
      • 10615 Rtree constructor feature request
      • 10643 Invalid point_on_surface() result for big coordinates
      • 10668 Implicit conversion warnings (duplicated 8402)
    • Bugfixes
      • Several fixes of bugs in algorithm buffer
      • Bug in point_on_surface() for CCW Polygons (extreme_points()) and numerical issue (thanks to Matt Amos)
      • Bug in disjoint() for A/A fixed by replacement of point_on_surface() with point_on_border() (thanks to Matt Amos)
      • The result of convex_hull(), duplicated Point in open output, too small number of Points for 1- and 2-Point input
      • Imprecision for big coordinates in centroid(), fixed by Points translation (related with ticket 10643)
      • for_each_segment() not taking into account the last segment of open Geometry
  • Interprocess:
  • Intrusive:
  • Iterator:
    • Most components of the library were moved into the boost::iterators namespace. For backward compatibility the components are also accessible in the boost namespace.
    • Iterator operators are now conditionally defined based on the iterator category.
    • Some of the internal components of the library were made public (minimum_category, for example).
  • Lexical Cast:
    • Some internal changes, library now consist of multiple headers instead of a single one #10391, #10173
  • Math:
    • Added Hyperexponential Distribution.
    • Fix some spurious overflows in the incomplete gamma functions (with thanks to Rocco Romeo).
    • Fix bug in derivative of incomplete beta when a = b = 0.5 - this also effects several non-central distributions, see issue 10480.
    • Fixed some corner cases in function round.
    • Don't support 80-bit floats in cstdfloat.hpp if standard library support is broken.
  • Move:
  • Added unique_ptr smart pointer. Thanks to Howard Hinnant for his excellent unique_ptr emulation code and testsuite.
  • Added move_if_noexcept utility. Thanks to Antony Polukhin for the implementation.
  • Fixed bugs:
  • MultiArray:
    • Fixed a friend-declaration related warning for clang (thanks to Marcel Raad).
  • Multiprecision:
    • Changed rational to float conversions to exactly round to nearest.
    • Added improved generic float to rational conversions.
    • Fixed rare bug in exponent function for cpp_bin_float.
    • Fixed various minor documentation issues.
  • Multi-index Containers:
    • When std::tuples are available, these can be used for lookup operations in indices equipped with composite keys. boost::tuples are also supported for backwards compatibility.
  • Preprocessor:
    • Added is_begin_parens and remove_parens.
    • Added tuple functionality to parallel all array functionality.
    • Fixed VC++ problems with empty tuple data.
    • Updated internal is_empty to use superior variadic version when variadic macros are supported.
    • Updated clang to have same variadic support as gcc.
    • Updated doc for new functionality.
  • Thread:
    • New Experimental Features:
      • #6227 Synchro: Use of variadic templates on Generic Locking Algorithms on compilers providing them
      • #10298 Synchro: Added queue views.
      • #10300 Async: Added generic_executor_ref.
      • #10552 Add make_valid_future
    • Fixed Bugs:
      • #6782 call_once uses incorrect barrier intrinsic on Visual Studio
      • #6787 boost::thread::sleep() hangs if system time is rolled back
      • #7665 this_thread::sleep_for no longer uses steady_clock in thread
      • #9307 future::fallback_to assert with ERRORRRRR boost: mutex lock failed in pthread_mutex_lock: Invalid argument
      • #9308 future::async fails with terminate called throwing an exception when called with a lambda - clang-darwin-asan11
      • #9310 test_4648_lib fails on clang-darwin-asan11
      • #9425 Boost promise & future does not use supplied allocator for value storage
      • #9558 future continuations unit test hangs in get()/pthread_cond_wait() on Mac 10.7/32-bit/x86/darwin-4.2.1
      • #9787 [windows] Small duration value passed down to basic_timed_mutex::try_lock_until and condition_variable::wait_until can cause infinite or near infinite wait for win32
      • #9880 [windows] boost::condition_variable.timed_wait() exception if system time < 1970
      • #10159 GCC 4.4 error sorry, unimplemented
      • #10196 thread_specific_ptr does not support void*
      • #10296 Boost.Thread 1.56 rc1 does not compile on Mingw
      • #10297 Boost.Thread 1.56 rc1 hangs when built with clang on armhf
      • #10340 No boost::promise<T>::set_value(const T&) overload present in C++03 mode
      • #10425 Missing documentation for when_all/when_any.
      • #10426 Take in account the deferred futures in when_all.
      • #10427 Take in account the deferred and ready futures in when_any.
      • #10428 Adapt to new unique_ptr interface in Boost.Move
      • #10465 Missing implementation of when_all/when_any when the result is a tuple.
      • #10476 classes using BOOST_THREAD_MOVABLE_ONLY<T> dont satisfy is_copy_constructible<T>::value == false
      • #10478 Data race in boost/thread/future.hpp
      • #10529 The pthread/condition_variable_any constructor reports incorrect error code for pthread_cond_init
      • #10563 shared_future<R>::then should be const
  • TypeIndex:
    • BOOST_HAS_PRAGMA_DETECT_MISMATCH is now used to detect ODR violations #10404
    • Typos fixed #10294
  • TypeTraits:
    • Added new traits is_copy_assignable and is_final.
  • Units:
    • New unit system <boost/units/systems/information.hpp> units for: bit, byte, nat, hartley and shannon,
    • Add scale units for binary prefixes kibi, mebi, gibi, tebi, pebi, zebi and yobi IEC prefixes
    • Fix output of NaN on msvc-14
    • Add support for C++11 numeric_limits::max_digits10 and ::lowest
    • warning fixes
  • Unordered:
    • Fix the pointer typedef in iterators (#10672).
    • Fix Coverity warning (GitHub #2).
  • Utility:
    • The next() and prior() functions taking distance arguments were reworked. The code now work correctly when the distance is unsigned or both arguments are integers. The new code relies on the availability of operators supported by the first argument to select the correct implementation.
  • uBLAS:
    • added two new types: matrix_row and matrix_column facades . With them, it is possible to access to the matrices as an array of rows and an array of columns, respectively.
    • added fixed_vector/fixed_matrix classes to represent small - fixed size containers. Requires c++11 because it is using std::array
    • fixed the long standing banded matrix bug (https://svn.boost.org/trac/boost/ticket/7549).
    • the interface of matrices and vectors has been extended with cbegin, cend, crbegin and crend member functions, as defined in c++11.
    • removed doxygen documentation to make the distribution lighter
    • removed warnings with MSVC for unused parameters
    • changed the uBlas development folder structure (will not affect users of the library)
    • performed a very large overhaul with respect to warnings and errors on various compilers. Apart for some hard to resolve warnings and older compiler incompatibilities, compilations with uBlas will be much cleaner now.

Compilers Tested

Boost's primary test compilers are:

  • Linux:
    • Clang: 3.0, 3.1, 3.2, 3.3, 3.4
    • Clang, C++14: 3.5
    • GCC: 4.4.7, 4.5.3, 4.6.4, 4.7.3, 4.8.1, 4.8.2
    • GCC, C++98: 4.9.1
    • GCC, C++11: 4.4.7, 4.8.2, 4.8.3, 4.9.1
    • GCC, C++14: 4.9.1
    • Intel: 13.1, 14.0
    • Intel, C++11: 13.1, 14.0
    • QCC: 4.4.2
  • OS X:
    • Apple Clang: 6.0
    • Apple Clang, C++11: 6.0
    • Apple Clang, C++14: 6.0
    • GCC: 4.2.1, 4.9.1
    • Intel: 12.0
  • Windows:
    • GCC, mingw: 4.4.0, 4.4.7. 4.5.4, 4.6.3, 4.7.2, 4.7.3, 4.8.0, 4.8.2, 4.9.0
    • Visual C++: 8.0, 9.0, 10.0, 11.0, 12.0
  • FreeBSD:
    • GCC: 4.2.1
  • QNX:
    • QCC: 4.4.2

Boost's additional test compilers include:

  • Linux:
    • Clang: 3.0, 3.1, 3.2, 3.3, 3.4.2
    • Clang, C++14: 3.5.0, trunk
    • GCC: 4.4.7, 4.6.4, 4.7.3, 4.8.1, 4.8.2, 5.0 (experimental)
    • GCC, C++11: 4.4.7, 4.8.2, 4.8.3, 4.9.1
    • GCC, C++14: 4.9.1
    • Intel: 11.1, 12.1, 13.0, 13.1, 14.0
    • Intel, C++11: 13.1, 14.0
  • OS X:
    • Apple Clang: 6.0
    • Apple Clang, C++11: 6.0
    • Apple Clang, C++14: 6.0
    • Clang: trunk
    • Clang, C++11: trunk
    • GCC: 4.2.1, 4.9.1
    • Intel: 12.0
  • Windows:
    • GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.3, 4.8.0, 4.8.2, 4.9.0
    • Visual C++: 8.0, 9.0, 10.0, 11.0, 12.0
  • FreeBSD:
    • GCC: 4.2.1
  • QNX:
    • QCC: 4.4.2

Acknowledgements

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

Contributors

John Maddock
John Maddock
Contributor
Adam Wulkiewicz
Adam Wulkiewicz
Contributor
Ion Gaztañaga
Ion Gaztañaga
Contributor
Menelaos Karavelas
Menelaos Karavelas
Contributor
Vicente J. Botet Escriba
Vicente J. Botet Escriba
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Barend Gehrels
Barend Gehrels
Contributor
Daniel James
Daniel James
Contributor
Steven Watanabe
Steven Watanabe
Contributor
Edward Diener
Edward Diener
Contributor
Nasos
Nasos
Contributor
Beman Dawes
Beman Dawes
Contributor
Peter Dimov
Peter Dimov
Contributor
David Bellot
David Bellot
Contributor
Antony Polukhin
Antony Polukhin
Contributor
sguazt
sguazt
Contributor
Oliver Kowalke
Oliver Kowalke
Contributor
Gunter Winkler
Gunter Winkler
Contributor
Glen Fernandes
Glen Fernandes
Contributor
Marcel Raad
Marcel Raad
Contributor
Jürgen Hunold
Jürgen Hunold
Contributor
Christopher Kohlhoff
Christopher Kohlhoff
Contributor
Tim Blechmann
Tim Blechmann
Contributor
Matt Amos
Matt Amos
Contributor
qduran
qduran
Contributor
Joaquin M. López Muñoz
Joaquin M. López Muñoz
Contributor
Marek Kurdej
Marek Kurdej
Contributor
Stephen Kelly
Stephen Kelly
Contributor
Frank Mori Hess
Frank Mori Hess
Contributor
Niall Douglas
Niall Douglas
Contributor
Steve Gates
Steve Gates
Contributor
K. Noel Belcourt
K. Noel Belcourt
Contributor
Andrzej Krzemieński
Andrzej Krzemieński
Contributor
Robert Ramey
Robert Ramey
Contributor
Christophe Henry
Christophe Henry
Contributor
Robert Matusewicz
Contributor
Joel de Guzman
Joel de Guzman
Contributor
erenon
erenon
Contributor
Matthias Schabel
Contributor
Matei David
Matei David
Contributor
Eric Niebler
Eric Niebler
Contributor
Kohei Takahashi
Kohei Takahashi
Contributor
Robin Eckert
Robin Eckert
Contributor
Bruno Lalande
Bruno Lalande
Contributor
Axel Ismirlian
Axel Ismirlian
Contributor
Emil Dotchevski
Emil Dotchevski
Contributor
Agustin Berge
Agustin Berge
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
jdurancomas
jdurancomas
Contributor
Paul A. Bristow
Paul A. Bristow
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Lorenzo Caminiti
Lorenzo Caminiti
Contributor
Zoey Greer
Zoey Greer
Contributor
Marshall Clow
Marshall Clow
Contributor
Mario Lang
Mario Lang
Contributor
Louis Dionne
Louis Dionne
Contributor
Stephan Aiche
Stephan Aiche
Contributor
Alain Miniussi
Alain Miniussi
Contributor
Lars Hagström
Lars Hagström
Contributor
Erik Erlandson
Erik Erlandson
Contributor
Kazutoshi SATODA
Kazutoshi SATODA
Contributor
wmamrak
wmamrak
Contributor
Klemens Baum
Klemens Baum
Contributor
Bryce Adelstein-Lelbach
Bryce Adelstein-Lelbach
Contributor
Mathias Gaunard
Mathias Gaunard
Contributor
Philippe Daouadi
Philippe Daouadi
Contributor
6recetru
6recetru
Contributor
Karsten Ahnert
Karsten Ahnert
Contributor
Rogier van Dalen
Rogier van Dalen
Contributor
Harris Munir
Contributor
mikael
mikael
Contributor
anttirt
anttirt
Contributor
Patrick J. LoPresti
Patrick J. LoPresti
Contributor
Anton Polukhin
Contributor