New libraries
One new library added, the VMD variadic macro data facility broadens meta‑programming support.
One new library added, the VMD variadic macro data facility broadens meta‑programming support.
atomic<> storage now enforces proper alignment, and offset_ptr gains faster offset calculations.
Added 8 dependency additions across 8 libraries and removed 6 dependencies across 4 libraries.
Numerous bug fixes improve stability, adding checks with BOOST_ASSERT, handling BOOST_FUSION_HAS_VARIADIC_VECTOR, and fixing filesystem path issues.
New enable_if_has_type tool and C++11 move support simplify modern code writing.
| Platform | File | SHA256 Hash |
|---|---|---|
|
Unix
|
boost_1_60_0.tar.bz2 |
|
| boost_1_60_0.tar.gz |
|
|
|
Windows
|
boost_1_60_0.7z |
|
| boost_1_60_0.zip |
|
December 17th, 2015 15:52 GMT
atomic<> storage. This should fix
possible issues on platforms that support atomic operations on data
units larger than the native word size. This may also change binary
layout of user's data structures that have atomic<> members.
pop_back,
pop_front, back, front,
etc.)
back/front operations to basic_string.
enable_if_has_type
tool for performing SFINAE checks for presence of a nested type.
lexically_normal,
lexically_relative,
relative, and weakly_canonical.
Many thanks to Jamie Allsop for his help and perseverance.
Resolves tickets #1976,
#5897,
#6249.
path
added types reverse_iterator
and const_reverse_iterator,
and added functions rbegin(),
and rend().
noexcept
supplied as specified in the Filesystem TS if supported by
the compiler.
size()
function to class path.
Resolves #6874,
Path should have a size() member function.
unique_path.
__OpenBSD__
macro name misspelled, by applying a patch submitted by Jasper
Lievisse Adriaanse.
remove().
create_directories
returns false if the path ends with a slash. Also fix related
issues if path contains dot or dot-dot elements, and added
test cases to the test suite.
parent_path() with redundant separator
returns wrong value, by adding examples and notes to the reference
documentation to show why the returned value is in fact correct,
and to provide rationale for that behavior. See path.itr,
and path.decompose
parent_path() and filename() sections of the reference
docs.
path reverse iteration feature.
The reference documentation has also been updated with a note
warning about the limitations of class path
iterators.
file_status
and recursive_directory_iterator:
C++ turns an explicit constructor with all arguments except
first defaulted into non-explicit single argument constructor.
fusion::vector
fusion::vectorN)
is provided via C++11 aliasing templates and deprecated
in C++11 or later. In this case, you should check BOOST_FUSION_HAS_VARIADIC_VECTOR
macro and switch usage because some partial specialization
would become compile error (e.g. pull-request
for Spirit).
fusion::nview now support C++11 variadic
templates. (pull-request
90)
fusion::fold is now SFINAE-friendly. (pull-request 102)
offset_ptr
performance and removed any undefined behaviour. No special cases
needed for different compilers.
key_compare,
the container must be partitioned in regards to the passed comparison
object.
libc++ issues
BOOST_LOCALE_ENABLE_CHAR16_T
and BOOST_LOCALE_ENABLE_CHAR32_T
to enable C++11 char16_t
and char32_t instead
of deprecated ones
BOOST_LOG_USE_WINNT6_API
is no longer used by the library. The target Windows version
should be configured by defining macro BOOST_USE_WINAPI_VERSION.
formatting_ostream.
(#11549)
formatting_ostream.
(#11545)
wchar_t
type is disabled. (#11541)
boost_log_setup
library on POSIX-like systems.
foreach in this framework.
boost::none
again. Now it is a const object with internal linkage (as any other
tag). This fixes #11203.
This release of Boost will by default compile for Windows Vista/Windows Server 2008, if the compiler supports a recent enough Windows SDK, and for Windows XP otherwise. Binaries compiled with default options may not run on the older Windows versions.
It is still possible to explicitly specify target Windows version by defining
BOOST_USE_WINAPI_VERSION
to a numeric version of Windows API. For example, building Boost for Windows
XP can be done with the following command:
b2 release define=BOOST_USE_WINAPI_VERSION=0x0501
The list of Windows API version numbers can be seen on this page.
This change only concerns libraries that use the common Windows API abstraction layer. Currently, these libraries are: Boost.Chrono, Boost.Dll, Boost.Log, Boost.UUID. This will also affect all dependent libraries.
Due to time constraints, the release of Hana will be postponed to a later release of Boost. This will also allow some known issues to be addressed properly before releasing the library officially as a part of Boost. More information can be found on the mailing list.
In order to provide superior support of uncommon toolsets and platforms,
the release of Boost.DLL was postponed to a later release of Boost. This
also allows to test better a recently added ability to copy construct and
copy assign instances of boost::dll::shared_library and provide examples on
importing functions with non default calling conventions. Latest version
and developer documentation of the library could be found at GitHub
repo.
Boost's primary test compilers are:
Boost's additional test compilers include:
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus and Marshall Clow managed this release.
Boost is publicly released three times a year in April, August, and December. Each release has updates to existing libraries, and any new libraries that have passed the rigorous acceptance process.