Version 1.61.0
May 13th, 2016 02:58 GMT
Documentation
List of checksums signed by Vladimir Prus
Third Party Downloads
New Libraries
- Compute:
-
Parallel/GPU-computing
library
- DLL:
-
Library for comfortable work
with and DSO. Library provides a portable across platforms way to:
load libraries
import any native functions and variables
make alias names for C++ mangled functions and symbols
query libraries for sections and exported symbols
self loading and self querying
getting program and module location by exported symbol
- Hana:
-
A modern C++ metaprogramming
library. It provides high level algorithms to manipulate heterogeneous
sequences, allows writing type-level computations with a natural syntax,
provides tools to introspect user-defined types and much more.
- Metaparse:
-
A library for generating
compile time parsers parsing embedded DSL code as part of the C++ compilation
process. The library is similar to Spirit, however while parsers built
with Spirit parse at run-time, parsers built with parse at compile-time.
Updated Libraries
-
Any:
-
More tests and maintainance fixes.
-
Container:
-
small_vector supports
more constructors and assignments.
-
Fixed bugs:
-
Context:
-
#11246 fails to build for mingw because of undefined symbols
-
#11365 execution_context.hpp gives errors when building with
VS2015RC
-
#11652 checking __cpp_lib_integer_sequence
-
#11946 crashes on x86_64/MinGW
-
fcontext_t: no longer part of public API
-
support for WinFiber API removed
-
execution_context: relaxed to C++11
-
execution_context: type-safe transfer of data
-
execution_context: execute function on top of stack
-
execution_context: improved performance
-
execution_context: static member-fn
current() removed
-
execution_context: new call semantic
-
Coroutine:
-
attribute related to FPU-env removed
-
Coroutine2:
-
attribute related to FPU-env removed
-
improved performance
-
relaxed to C++11
-
Fusion:
-
Mitigate massive warnings about use of
BOOST_PP_IS_EMPTY
on MSVC8. #11157
-
Container's conversion ctor and SFINAE. #11766
-
Drop trailing
fusion::void_
support from C++11 fusion::vector.
pull-request
120
-
Workarounds for GCC 4.0 and 4.1 ICE. #5808 #7229
-
Workaround for ambiguous call of
fusion::convert
on GCC 3.4. pull-request
130
-
Geometry:
-
Additional functionality:
-
Support within and covered_by for Box/Box in spherical and
geographic coordinate systems.
-
Improvements:
-
Overlay: handle_tangencies replaced by clusters, fixing many
cases with colocated turns
-
Solved tickets:
-
#9162
Invalid result of relational operations for non-cartesian Point/Areal.
-
#10866
union_ doesn't work in 1.56 and 1.57.
-
#11018
Invalid geometry intersection
-
#11576
Intersection gives wrong results.
-
#11637
Unused parameter warning.
-
#11725
union_ fails to create holes
-
#11789
Assertion failure or invalid result of set operations for spherical_equatorial
coordinate system.
-
#11917
Andoyer distance strategy returns 0 for antipodal points (default
geographic distance).
-
#11928
Improvement of the accuracy of surveyor area strategy.
-
#11966
Compilation error in svg() for box and non-int coordinate type.
-
#11984
union_() generates self-intersecting polygon
-
#11987
rtree::remove() not compiling for geographic CS.
-
#12000
Uninitialized reference in (unused) constructor of relate's
mask_handler.
-
#12106
Invalid assertion failure in envelope() for non-cartesian very
short segments.
-
Bugfixes:
-
Fix intersects and disjoint for Segment/Box in cartesian coordinate
system when Segment is parallel to Box's face.
-
Fix relation operations for Point/Areal in spherical and geographic
coordinate systems for edge cases.
-
Fix intersects and disjoint for Point/Box and Box/Box in spherical
and geographic coordinate systems for some cases.
-
Fix within and covered_by for Point/Box in spherical and geographic
coordinate systems for some cases.
-
Interprocess:
-
Intrusive:
-
Lexical Cast:
-
Fixed Sun Studio related issues
-
Log:
-
General changes:
-
The support for
boost::basic_string_ref
and its specializations is deprecated; users are encouraged
to switch to boost::basic_string_view.
The support for boost::basic_string_ref
will be removed in future releases.
-
Added support for limiting the number of stored log files in
the target directory of the file collector. Thanks to Erich
Keane for the patch. (#8746)
-
Bug fixes:
-
Fixed various compilation problems for Windows CE.
-
Fixed compilation problems on Solaris.
-
Added a workaround for MSVC-10 generating broken code for formatters
in some cases. (#12025)
-
See changelog
for more details.
-
Math:
-
Polynomial arithmetic added to tools.
-
Move:
-
Experimental: asymptotically optimal bufferless merge and sort algorithms:
adaptive_merge and adaptive_sort.
-
Fixed bug:
-
Multiprecision:
-
Fixed bug in stream input for integer types, see #11857.
-
Fixed some ambiguous conversions involving expression templates see
#11922.
-
Add expression template aware min/max overloads see #11149.
-
Fix bug in right shifting negative small integers in cpp_int see
#11999.
-
Use memmove for bitshifts in cpp_int when possible see #9233.
-
Use memcpy for data import into cpp_int where possible, see #9235.
-
Changed
cpp_bin_float.convert_to<double>() to a function template rather
than proceding via long double to avoid double-rounding bug,
see #12039.
-
Fixed conversions from NaN's and Infinities, see #12112.
-
Enabled better support for Clang on Windows.
-
Fixed handling of NaN's and Infinities in basic arithmetic for cpp_dec_float
and cpp_bin_float, see #12090.
-
Fixed fencepost error in cpp_bin_float subtraction.
-
Fixed double-rounding in conversion to float routines for cpp_bin_float,
see #12039.
-
Make float128 denorm aware, see #12075.
-
Allow the library and tests to be used without exception handling
support, see #12070.
-
Fixed buggy comparison operator overloads for boost::rational.
-
Added some workarounds for Oracle C++.
-
Fixed some missing typecasts for cases where cpp_int's limb_type
is wider than unsigned.
-
Optional:
-
Now
boost::optional is specialized for reference
parameters. This addresses a couple of issues:
-
the
sizeof of
optional reference is that of a pointer,
-
some bugs connected to copying optional references are gone,
-
all run-time bugs caused by incorrect reference binding on
some compilers are now turned into compile-time errors,
-
you can swap optional references: it is like swapping pointers:
shalow, underlying objects are not affected,
-
optional references to abstract types work.
-
Documented nested typedefs (Trac
#5193).
-
Made the perfect-forwarding constructor SFINAE-friendly, which fixes
Trac #12002.
However, this only works in the newer platforms that correctly implement
C++11
<type_traits>.
-
Fixed Trac
#10445.
-
Regex:
-
Change to lockfree implementation of memory cache, see PR#23.
-
Test:
-
Boost.test v3.2 see the 'Change
log' section for details.
-
New features
-
dataset driven test-cases learned to support fixtures and variadic
number of arguments
-
dataset driven test-cases sample types now honor move semantics
-
Bug fixes
-
Variant:
Compilers Tested
Boost's primary test compilers are:
-
Linux:
-
Clang: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7.1
-
Clang, C++14: 3.7.1, 3.8.0
-
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.3, 4.8.4, 4.8.5, 4.9.3, 5.3.0
-
GCC, C++11: 4.4.7
-
GCC, C++14: 5.2.1, 5.3.1
-
Intel: 16.0
-
Windows:
-
GCC, C++03, mingw: 3.4.5
-
GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
-
GCC, C++14, mingw: 4.9.3, 5.1, 5.2
-
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
-
Android:
-
Clang: 3.6, 3.7
-
GCC: 4.9, 5.3
-
FreeBSD:
-
Clang: 3.4.1, 3.7
-
GCC: 4.8.5, 5.3
-
Haiku:
-
QNX:
-
SunOS:
-
Oracle Solaris Studio: 12.4, 12.5
-
Oracle Solaris Studio, C++11: 12.5
Boost's additional test compilers include:
-
Linux:
-
Clang: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7.1
-
Clang, c++14: 3.7.1, 3.8.0
-
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.3, 4.8.5, 4.9.3, 5.3.0, 5.3.1, 6.0.0
-
GCC, C++11: 4.4.7
-
GCC, C++14: 5.2.1
-
Intel: 16.0
-
OS X:
-
Apple Clang: 7.0.2
-
G++: 5.3.0
-
Windows:
-
GCC, C++03, mingw: 3.4.5
-
GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
-
GCC, C++14, mingw: 4.9.3, 5.1, 5.2
-
GCC, cygwin: 5.3.0
-
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
-
Android:
-
Clang: 3.6, 3.7
-
GCC: 4.9, 5.3, 6.0
-
FreeBSD:
-
Clang: 3.41, 3.7.0
-
GCC, C++11: 4.8.5, 5.3.0, 6.0
-
GCC: 6.0
-
Haiku:
-
QNX:
-
SunOS:
-
Oracle Solaris Studio: 12.4, 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.