September 20, 2016
Platform | File | SHA256 Hash | |
---|---|---|---|
Unix | boost_1_62_0.tar.bz2 | 36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 36c96b0f61....b90afb2ca0 36c96....b2ca0 | |
boost_1_62_0.tar.gz | 440a59f8bc4023dbe6285c9998b0f7fa288468b889746b1ef00e8b36c559dce1 440a59f8bc....36c559dce1 440a5....9dce1 | ||
Windows | boost_1_62_0.7z | b91c2cda8bee73ea613130e19e72c9589e9ef0357c4c5cc5f7523de82cce11f7 b91c2cda8b....e82cce11f7 b91c2....e11f7 | |
boost_1_62_0.zip | 084b2e0638bbe0975a9e43e21bc9ceae33ef11377aecab3268a57cf41e405d4e 084b2e0638....f41e405d4e 084b2....05d4e |
Version 1.62.0
September 28th, 2016 15:17 GMT
Third Party Downloads
New Libraries
- Fiber:
- Framework for userland-threads/fibers, from Oliver Kowalke.
- QVM:
- Boost is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski.
Updated Libraries
-
Atomic:
- Improved support for Oracle Studio and SPARC. The library now provides native atomic operations on SPARCv8+.
- Chrono:
-
Circular Buffer:
-
Debug implementation is no longer used by default in debug mode.
Debug implementation does not have the same thread safety guarantees
as the normal (release) implementation or other containers. As a
result of this change
BOOST_CB_DISABLE_DEBUG
macro is no longer used.BOOST_CB_ENABLE_DEBUG=1
should be defined instead to enable debug support. (#6277)
-
Debug implementation is no longer used by default in debug mode.
Debug implementation does not have the same thread safety guarantees
as the normal (release) implementation or other containers. As a
result of this change
-
Container:
-
Fixed bugs:
- Trac #9481: "Minor comment typo in Boost.Container".
- Trac #9689: "Add piecewise_construct to boost::container".
- Trac #11170: "Doc slip for index_of".
- Trac #11802: "Incorrect ordering after using insert() with ordered_range_t on a flat_multiset with a non-default sort order".
- Trac #12117: "flat_set constructor with ordered_unique_range".
- Trac #12177: "vector::priv_merge uses unqualified uintptr_t".
- Trac #12183: "GCC 6.1 thinks boost::container::string violates strict aliasing".
- Trac #12256: "set<std::pair<int,int>>::insert cause compilation error in debug configuration in Visual Studio 2012".
-
Trac
#12273: "static_vector max_size() and capacity()
should be constant expressions". Added
constant
static_vector<>::static_capacity
to use the configured capacity in constant expressions. - Trac #12286: "PMR flat_map from Boost Container does not compile".
- Trac #12296: "{deque,string} combine for a memory leak".
-
Trac
#12319: "
flat_set
should be nothrow move constructible".
- Revised noexcept expressions of default and move constructors in all containers.
-
Implemented C++17
insert_or_assign
/try_emplace
formap
andflat_map
. -
Implemented C++17
extract
/insert(node)
formap
,multimap
,set
,multiset
.
-
Fixed bugs:
- Context:
-
Coroutine:
- deprecated in favour of Coroutine2
-
Coroutine2:
- #12221 coroutine<>::push_type function starts without pushing
- do not swallow exceptions thrown at coroutine<>::push_type construction
-
DLL:
- Mangled symbols and classes loading was implemented by Klemens Morgenstern
- Suppress a 'unused parameter' warning in detail::aggressive_ptr_cast pull-request 9
- Allowed to query non-existant sections pull-request 32
- More tests and docs
-
Functional/Forward:
- Fix C++11 compile error.
-
Geometry:
-
Improvements:
- Union: take care that output is valid (with some exceptions), also with self-tangent polygons or shared edges
- SVG: support boost::variant of geometries
- SVG: coordinates are now written as double (by default) to svg
- Rename namespace concept to concepts to avoid conflicts with the newest compilers
- New spherical intersection strategy used in relational and set operations for spherical and geographic Geometries (previously cartesian intersection strategy was used for all coordinate systems).
- Solved tickets:
-
Improvements:
-
Interprocess:
- Fixed bug GitHub Pull #27 ("Fix undefined behavior").
-
Intrusive:
-
Fixed bugs:
- Boost Trac #11476: has_member_function_callable_with.hpp is massively broken with BOOST_NO_CXX11_DECLTYPE
- Boost Trac #11994: Support intrusive container key extractors that return the key by value
- Boost Trac #12184: clang -Wdocumentation warning
- Boost Trac #12190: Intrusive List + Flat Map combination crashes
- Boost Trac #12229: intrusive::unordered_set<T>::rehash() broken
- Boost Trac #12245: bstree uses a shared static size_traits for constant_time_size<false>
-
Fixed bugs:
-
Lexical Cast:
- Fix incorrect static assertion #11759
-
Log:
-
New features:
- Added new tools for inter-process logging on a local machine. The implementation includes a resource name wrapper, an inter-process message queue and a sink backend.
-
Added a new character decorator called
max_size_decor
. The new decorator allows to limit the output of its adopted formatter up to the specified length.
-
Bug fixes:
- Fixed that logging streams could retain formatting settings across different log records. (#12178)
- See changelog for more details.
-
New features:
-
Math:
-
New Features:
-
Enabled all the special function code to work correctly with
types whose precision can change at runtime: for example type
mpfr_float
from Boost.Multiprecision.
-
Enabled all the special function code to work correctly with
types whose precision can change at runtime: for example type
-
Patches:
-
Fix
tgamma_delta_ratio
for cases where the delta is small compared to the base. - Fix misc GCC-4.4 test failures.
-
Fix
-
New Features:
-
Optional:
- Fixed Trac #12179.
-
Phoenix:
- Fix compilation for MSVC 10. pull-request 18
- Remove unused preprocessed files. pull-request 28
- Fix erroneous doc for switch_ statement. #8156
- Cleanup config unordered. pull-request 33
- Suppress unused placeholder warnings.
- Fix too few arguments error on binary math functions.
- Regex:
-
Test:
- Boost.test v3.3 see the Change log section for more details.
-
New features
- dataset driven test-cases have now a unique name and all sample tests of a dataset live inside the same test suite
-
Boost.test learned a new command line switch,
--logger
for setting a test logger as well as its parameter in one command - Boost.test learned to have several loggers at the same time, each of which having their own log level and output stream
-
Boost.test learned a new logger,
JUNIT
, that is able to output Junit/xUnit compatible streams -
It is now possible to specify several test filters through
the environment variable
BOOST_TEST_RUN_FILTERS
- Bug fixes
-
Thread:
- #12102 condition_variable_fwd.hpp fails to compile when BOOST_THREAD_PROVIDES_INTERRUPTIONS is disabled
- #12120 Performance improvement in thread/barrier.hpp
- #12146 make_exceptional_future is not mentioned in the docs
- #12202 shared_lock should be in shared_mutex header
- #12371 boost thread/future.hpp fails to build
- #88 fix typos in boost::upgrade_lock
- #89 fix a bug in upgrade_to_unique_lock<>::operator=()
- #90 fix a bug in try_lock_wrapper<>::operator=()
- #91 Add shared_lock_guard to the included lock types
- #92 Fixed compilation with MSVC-8.
- #93 Fix variable shadowing warnings (Clang)
- #94 fix bugs in boost::barrier
- #95 fix a mistake in boost::completion_latch
- #96 rename async_func.hpp to invoker.hpp.
- #97 fix a mistake in sync_timed_queue<>::pull_until()
-
TypeIndex:
-
ctti_type_index
was made constexpr in C++14. Now it is possible to retrieve actual name of the type asconst char*
at compile time. So we can do a lot of interesting things at compile time: check namespace of a type, sort types according to their lexical representation, check that type is a template type and so on... A few examples were provided. -
Fixed issue with
noexcept
on MSVC in type names and issue with space in type name (pulled from klemens-morgenstern/develop) - Fixed typos pull-request 7
- Improved CI testing
-
-
Unordered:
-
Remove use of deprecated
boost::iterator
. -
Fixed an exception safety issue in assignment of
unordered_multiset
andunordered_multimap
. - See the changelog for more details.
-
Remove use of deprecated
-
Variant:
- Fixed variant construction from classes derived from variant #7120, #10278, #12155
- Variant constructors and assignment operators now do not participate in overload resolutions if variant can not hold the input type #5871, #11602
- Fixed the issue with implicit conversion operator in C++11 #8555
- Fixed comparisons when variant holds non-const reference #11751
- Fixed noexcept for variant's move-assignment #11696
- Fixed double quotes in includes #12057
- Dropped BOOST_VARIANT_NO_REFERENCE_SUPPORT macro and dropped support for compilers without SFINAE #12250
- Suppress implicit instantiation of MPL end iterator
- Multiple minor fixes (typos, missing includes)
Compilers Tested
Boost's primary test compilers are:
-
Linux:
- Clang: 3.0, 3.8.0
- Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.0
- Clang, C++14: 3.5, 3.6, 3.7, 3.8.0, 3.8.1, 3.9.0
- GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.2.0, 6.1.1
- GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.3, 5.2.0, 6.1.1
- GCC, C++14: 5.2.0, 5.3.0, 5.4.1, 6.1.1
- Intel: 16.0
- Intel, C++11: 16.0
- Intel, C++14: 16.0
-
Windows:
- GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
- GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
- GCC, C++14, mingw: 6.1.0
- Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
-
Android:
- Clang: 3.6, 3.7, 3.8
- GCC: 4.9, 5.4, 6.1
-
FreeBSD:
- Clang: 3.4.1, 3.7
- GCC: 4.8.5, 5.4.0, 6.1.1
-
QNX:
- QCC: 4.4.2
-
SunOS:
- Oracle Solaris Studio: 12.5
- Oracle Solaris Studio, C++11: 12.5
Boost's additional test compilers include:
-
Linux:
- Clang: 3.0, 3.8
- Clang, c++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8
- Clang, c++14: 3.5, 3.6, 3.7, 3.8, 3.9
- GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 4.8.4, 5.2.0, 6.1.1
- GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.3, 5.2.0, 6.1.1
- GCC, C++14: 5.2.0, 5.3.0, 5.4.1, 6.1.1, 7.0.0 (experimental)
- Intel: 16.0
- Intel, C++11: 16.0
- Intel, C++14: 16.0
-
OS X:
- Apple Clang: 7.3.0
- G++: 6.1.0
-
Windows:
- Clang: 3.8.1
- GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
- GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
- GCC, C++14, mingw: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
- GCC, cygwin: 5.4.0
- Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
-
Android:
- Clang: 3.6, 3.7, 3.8
- GCC: 4.9, 5.4, 6.1
-
FreeBSD:
- Clang, C++11: 3.4.1, 3.7.0
- GCC, C++11: 4.8.5. 5.4.0, 6.1.1
-
Haiku:
- GCC, C++11: 5.4.0
-
QNX:
- QCC: 4.4.2
-
SunOS:
- Oracle Solaris Studio: 12.5
- Oracle Solaris Studio, C++11: 12.5
Acknowledgements
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus and Marshall Clow managed this release.