Version 1.64.0
Version 1.64.0
April 19th, 2017 17:42 GMT
| Platform | File | SHA256 Hash |
|---|---|---|
| unix | boost_1_64_0.tar.bz2 | 7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332 |
| boost_1_64_0.tar.gz | 0445c22a5ef3bd69f5dfb48354978421a85ab395254a26b1ffb0aa1bfd63a108 | |
| windows | boost_1_64_0.7z | 49c6abfeb5b480f6a86119c0d57235966b4690ee6ff9e6401ee868244808d155 |
| boost_1_64_0.zip | b99973c805f38b549dbeaf88701c0abeff8b0e8eaa4066df47cac10a32097523 |
Third Party Downloads
New Libraries
-
Process: Process library by Klemens D. Morgenstern, that provides cross platorm ways to allows you to:
-
create child processes
-
setup streams for child processes
-
communicate with child processes through streams (synchronously or asynchronously)
-
wait for processes to exit (synchronously or asynchronously)
-
terminate processes
Broken feature: -
Updated Libraries
-
Atomic:
-
Fixed possible incorrect code generation in 64-bit atomic operations on 32-bit x86 with gcc versions older than 4.7 and compatible compilers.
-
-
Config:
-
Added
BOOST_NO_CXX11_SFINAE_EXPRdefect detection.
-
-
Context:
-
new API: call/cc
-
deprecated API:execution-context
-
stack manipulation on MIPS fixed
-
#12719 segmentation fault when built with mingw-w64
-
#12948 Unexpected snprintf result is on Android ARM
-
#38: context_entry() crashes on macOS
-
#39: Unknown directive .cpu on aarch64 with Clang 3.8 on Android
-
#41: std::bind() fails with invoke()
-
#46: "rename of continuation member functions" missed a spot
-
#50: bad assembly for fcontext on ppc64/sysv/elf
-
-
Conversion:
-
Docs were ported to Quickbook (thanks to Mikhail Maksimov for the port)
-
Fixed a memory leak in test (thanks to Mikhail Maksimov for the fix)
-
CI tests now run with
address,leak, andundefinedsanitizers
-
-
Core:
-
Implemented
constexpraddressofon compilers that support C++11constexprand SFINAE expressions (Glen Fernandes).BOOST_CORE_NO_CONSTEXPR_ADDRESSOFmacro indicates whenconstexpraddressofis not available. -
In
lightweight_test.hpp, added new macrosBOOST_TEST_ALL_EQandBOOST_TEST_ALL_WITHfor testing container contents (Bjorn Reese).
-
-
Coroutine2:
-
#4: coroutine2<> does not accept std::bind
-
-
DLL:
-
Fixed WinCE compilation
-
Added
boost:dll::symbol_location_ptrfunction for getting location of a symbol by pointer that could not be dereferenced (voidpointer for example) -
Fixed UB in
detail::aggressive_ptr_castfor member pointers -
Fixed leaks in experimental smart imports
-
Fixed warnings
-
CI tests now run with
addressandleaksanitizers
-
-
Fiber:
-
(un)bounded_channel<> removed
-
#100: ASIO: unbuffered_channel / scheduler notify issue
-
#105: skynet variants crash on windows
-
#106: Passing a fixed_stack allocator to async/packaged_task doesn't compile
-
#110: Compile error on ARMv6
-
#111: endless-loop in buffered_channel::try_value_pop()
-
#114: buffered_channel::try_push
does not wake fibers inpop`
-
-
Geometry:
-
Improvements:
-
matrix transformation is now based on Boost.QVM instead of Boost.Ublas
-
-
Breaking changes:
-
ublas_transformer is renamed to matrix_transformer
-
explicit modifier is added to constructors of rtree index::dynamic_* parameters
-
strategy::area::huiller replaced by strategy::area::spherical
-
-
Solved tickets:
-
11899 boost::geometry::equals doesn't handle open polygons
-
11930 Inaccuracy of area::huiller strategy
-
11931 Wrong spherical area with pole encircling polygons
-
12410 Lack of support of geographic coordinate system in correct()
-
12566 Ambiguous template instantiation in equal_to<> when pair value contains raw pointer
-
12861 Segmentation fault in stdlibc++ (gcc 4.8.2) affecting rtree
-
12885 Use BOOST_THROW_EXCEPTION instead of throw
-
-
Bugfixes:
-
Fix distance_measure in get_turn_info
-
-
-
Hash:
-
Stop using
std::unary_functionandstd::binary_functionwhen they're not available.
-
-
Interprocess:
-
Fixed bugs:
-
New experimental option
BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASEDfrom Windows systems. This option derives the unique bootstamp used to name the folder where shared memory is placed from registry values associated with the session manager. This option only works on Vista and later systems and might be more stable than the default version.
-
-
LexicalCast:
-
Fixed multiple warnings #11842
-
CI tests now run with
address,leak, andundefinedsanitizers
-
-
Multi-index Containers:
-
Fixed a bug related to ambiguous references in the presence of more than one ranked index (ticket #12955).
-
Maintenance fixes.
-
-
Multiprecision:
-
In
cpp_bin_floatprevent double rounding when converting to a denormalized float. See #12527. -
Fix bug in integer sqrt for very small integers. See #12559.
-
Fix conversion to signed-zero in
cpp_bin_float. -
Change
cpp_bin_floatrounding code to round at arbitrary location so we can use it for conversions, see #12527. -
Improve performance of 128-bit bit-scan operations.
-
Fix subtraction of very small quantities in
cpp_bin_float. See: #12580. -
Bring error handling into line with C99 Annex F. See #12581.
-
Fix bitwise export of trivial
cpp_int's, see #12627. -
Fix
ilogb(and code that uses it) to consistently return the smallest value of the exponent type when the argument is zero, see #12625. -
Allow conversion from
__float128tocpp_bin_float. -
Fix bug in left shift of
cpp_intwhich would result in bit-loss, see #12790. -
Fixed bugs in bounded but variable precision
cpp_int's caused by over-aggressive constexpr optimization, see #12798.
-
-
Predef:
-
Fix Intel C/C++ compiler version specification.
-
Add
BOOST_VERSION_NUMBER_MAJOR,BOOST_VERSION_NUMBER_MINOR,BOOST_VERSION_NUMBER_PATCHmacros to extract components from valid version numbers. -
Change VS version numbering. Versions after VS2015 will use the compiler version instead of the varied product versions.
-
-
Smart Pointers:
-
Rewrite of
allocate_sharedandmake_sharedfor arrays for a more optimal and more maintainable implementation (Glen Fernandes) -
Pointer cast functions with move semantics (Chris Glover)
-
-
Test:
-
Boost.test v3.5 see the Change log section for more details.
-
New feature:
-
Now Boost.Test provides customization points for logging user defined types
-
JUnit output format can now have a log-level
-
JUnit output format has not better performances when the test modules have a lot of checks
-
-
-
TypeIndex:
-
Added
BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST, which implements the functionality forruntime_castbut does not include theBOOST_TYPE_INDEX_REGISTER_CLASSmacro (thanks to Chris Glover for imlpementing it) -
Fixed undefined macro warning in stl_type_index.hpp #12739
-
CI tests now run with
address,leak, andundefinedsanitizers
-
-
TypeTraits:
-
Added new traits
make_voidandvoid_t.
-
-
Unordered:
-
Initial support for new C++17 member functions:
insert_or_assignandtry_emplaceinunordered_map,mergeandextractin all containers.
-
Compilers Tested
Boost's primary test compilers are:
-
Linux:
-
Clang: 3.0, 3.8.1, 3.9.1
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1, 3.9.1
-
Clang, C++14: 3.5, 3.6, 3.7.1, 3.8.1, 3.9.1
-
Clang, C++1z: 3.9.1
-
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
-
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
-
GCC, C++14: 5.4.1, 6.2.0, 6.3.0
-
GCC, C++1z: 6.2.0
-
Intel: 16.0, 17.0
-
Intel, C++11: 16.0, 17.0
-
Intel, C++14: 16.0, 17.0
-
-
OS X:
-
Apple Clang: 7.0.2
-
Apple Clang, C++11: 7.0.2
-
-
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: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 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.2
-
-
FreeBSD:
-
Clang: 3.8
-
Clang, C++11: 3.8
-
Clang, C++14: 3.8
-
Clang, C++1z: 3.8
-
-
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.1, 3.9.1
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.8.1, 3.9.1
-
Clang, C++14: 3.4, 3.5, 3.6, 3.7. 3.8, 3.8.1, 3.9.1
-
Clang, C++1z: 3.9.1, 4.0
-
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
-
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
-
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.0.1
-
GCC, C++1z: 6.2.0
-
Intel: 16.0, 17.0
-
Intel, C++11: 16.0, 17.0
-
Intel, C++14: 16.0, 17.0
-
-
OS X:
-
Apple Clang: 7.0.2
-
-
Windows:
-
GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
-
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
-
-
Android:
-
Clang: 3.6, 3.7, 3.8
-
GCC: 4.9, 5.4, 6.2
-
-
FreeBSD:
-
Clang, C++98: 3.8
-
Clang, C++11: 3.8
-
Clang, C++14: 3.8
-
Clang, C++1z: 3.8
-
-
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.
