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_EXPR
defect 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
, andundefined
sanitizers
-
-
Core:
-
Implemented
constexpr
addressof
on compilers that support C++11constexpr
and SFINAE expressions (Glen Fernandes).BOOST_CORE_NO_CONSTEXPR_ADDRESSOF
macro indicates whenconstexpr
addressof
is not available. -
In
lightweight_test.hpp
, added new macrosBOOST_TEST_ALL_EQ
andBOOST_TEST_ALL_WITH
for testing container contents (Bjorn Reese).
-
-
Coroutine2:
-
#4: coroutine2<> does not accept std::bind
-
-
DLL:
-
Fixed WinCE compilation
-
Added
boost:dll::symbol_location_ptr
function for getting location of a symbol by pointer that could not be dereferenced (void
pointer for example) -
Fixed UB in
detail::aggressive_ptr_cast
for member pointers -
Fixed leaks in experimental smart imports
-
Fixed warnings
-
CI tests now run with
address
andleak
sanitizers
-
-
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 in
pop`
-
-
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_function
andstd::binary_function
when they're not available.
-
-
Interprocess:
-
Fixed bugs:
-
New experimental option
BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASED
from 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
, andundefined
sanitizers
-
-
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_float
prevent 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_float
rounding 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
__float128
tocpp_bin_float
. -
Fix bug in left shift of
cpp_int
which 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_PATCH
macros 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_shared
andmake_shared
for 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_cast
but does not include theBOOST_TYPE_INDEX_REGISTER_CLASS
macro (thanks to Chris Glover for imlpementing it) -
Fixed undefined macro warning in stl_type_index.hpp #12739
-
CI tests now run with
address
,leak
, andundefined
sanitizers
-
-
TypeTraits:
-
Added new traits
make_void
andvoid_t
.
-
-
Unordered:
-
Initial support for new C++17 member functions:
insert_or_assign
andtry_emplace
inunordered_map
,merge
andextract
in 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.