New libraries
Added PolyCollection and Stacktrace for polymorphic containers and backtrace handling.
Added PolyCollection and Stacktrace for polymorphic containers and backtrace handling.
Optimized allocate_shared/make_shared arrays and unified unordered_set/unordered_multiset with unordered_map/unordered_multimap structures.
Updated Asio to require GCC ≥ 4.7 and removed deprecated TR1 library.
Fixed critical bugs in condition_variable, thread sleep, and future constructors, enhancing reliability.
Added constexpr, variadic template support and new BOOST_NO_CXX11_POINTER_TRAITS macro for better compile-time checking.
September 7th, 2017 17:31 GMT
resume_with.
resume_with.
_GNU_SOURCE
but have _Unwind_Backtrace
function.
boost::condition_variable
on Windows (#130).
Boost's primary test compilers are:
Beman Dawes, Daniel James, Vladimir Prus and Marshall Clow managed this release.
constexpr
and variadic templates with recent MSVC versions.
auto_ptr.
asio_handler_is_continuation
result in reactive async_accept
implementation.
poll.h
rather than sys/poll.h on some modern POSIX platforms
(#12419).
__thread
keyword extension for android/clang/x86 targets.
BOOST_NO_CXX11_POINTER_TRAITS,
BOOST_NO_CXX17_FOLD_EXPRESSIONS,
BOOST_NO_CXX17_INLINE_VARIABLES,
BOOST_NO_CXX17_STRUCTURED_BINDINGS
defect detection.
pointer_traits
for C++03 and higher, that implements P0653r0
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
BOOST_TEST_GT
and BOOST_TEST_GE
to Lightweight Test.
fusion::vector,
fusion::deque, fusion::map,
fusion::set, and fusion::tuple.
(#12986)
char16_t,
char32_t, u16string, u32string.
phoenix::erase with associative container
returns iterator in C++11 mode. (#7423)
std::set and std::multiset
should be worked with predefined lazy functions. (PR#52)
phoenix::random_shuffle in C++17. (PR#53)
BOOST_PREDEF_WORKAROUND
and BOOST_PREDEF_TESTED_AT
macros for defect workarounds and detection.
boost::optional,
thanks to Ed Catmur (#7495,
PR#18)
eval(),
exec(),
and exec_statement() now allow char
const *
arguments, in addition to boost::python::str.
boost::python::numeric API has been removed, as
it is being obsoleted by boost::python::numpy.
atomic_shared_ptr,
that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
local_shared_ptr,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
allocate_shared
and make_shared for
arrays. (Glen Fernandes)
BOOST_TEST
BOOST_TEST_GLOBAL_FIXTURE
for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION
for global initialization (compile time configuration).
setup
/ teardown
member function) which enables better teardown time checks
BOOST_GLOBAL_FIXTURE
in favor of BOOST_TEST_GLOBAL_FIXTURE
and BOOST_TEST_GLOBAL_CONFIGURATION
(see above)
unordered_set
and unordered_multiset,
and forunordered_map
and unordered_multimap.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
allocator_traits
construct and destroy on C++11 compilers, using
piecewise pair construction when appropriate.
boost::get
was added by Albert Sverdlov #13018.
<boost/variant/polymorphic_get.hpp>
header was added by Adam Badura #13037.
boost::make_variant_over was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) #8554, #10041, PR#35.
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.