[/ Copyright 2021 Peter Dimov Distributed under the Boost Software License, Version 1.0. https://boost.org/LICENSE_1_0.txt) ] [section Revision History] [section Changes in 1.80.0] * `empty_value` members are now marked as `constexpr`. * Added `fclose_deleter`, a deleter that calls `std::fclose` on a pointer to `std::FILE`. * Bit manipulation utilities in `boost/core/bit.hpp` now explicitly require unsigned integers on input. ([@https://github.com/boostorg/core/issues/129 #129]) * `bit_width` now returns `int` instead of a value of the input argument type. This follows the resolution of [@https://cplusplus.github.io/LWG/issue3656 LWG3656]. [endsect] [section Changes in 1.79.0] * Added `boost::allocator_traits`, an implementation of `std::allocator_traits`. * Made `boost::pointer_traits` SFINAE friendly. * `boost/iterator.hpp` is deprecated and will be removed in a future release. The header defines the `boost::iterator` template, which is equivalent to `std::iterator` in the `` header. However, since `std::iterator` is itself deprecated in C++17, users are advised to remove the use of `boost::iterator` or `std::iterator` from their code. * Added `boost::core::verbose_terminate_handler`, a utility function intended to be passed to `std::set_terminate` that prints information about the uncaught exception to `stderr`. [endsect] [section Changes in 1.78.0] * Added a generic implementation to `boost/core/cmath.hpp`, enabled when `BOOST_CORE_USE_GENERIC_CMATH` is defined or when the platform does not provide the necessary facilities in ``. * Added `boost::core::type_name`, a utility function that returns the name of a type as a string. * Added `boost::span`, a C++11 implementation of C++20's `std::span`. [endsect] [section Changes in 1.77.0] * `boost/core/uncaught_exceptions.hpp` has been modified for compatibility with Mac OS 10.4 and older. [endsect] [section Changes in 1.76.0] * Added implicit conversion between compatible reference wrappers. * Added `boost/core/cmath.hpp`, a portable implementation of the floating point classification functions from ``. * Added `boost/core/bit.hpp`, a portable implementation of the C++20 standard header ``. * Fixed `BOOST_TEST_EQ`, `BOOST_TEST_NE` for character types under C++20. * Revised allocator access utilities (now support VS2013, and no workarounds use `allocator_traits`.) [endsect] [section Changes in 1.74.0] * Implemented the allocator access utilities which provide a replacement for `allocator_traits` with individual traits and functions for each facility. They support the C++11 allocator model when possible and provide a fallback for C++98 compatibility. * Added `BOOST_TEST_WITH` to Lightweight Test. [endsect] [section Changes in 1.71.0] * Added functions `alloc_construct`, `alloc_construct_n`, `alloc_destroy`, and `alloc_destroy_n` in `` for allocator aware and exception safe construction and destruction of objects and arrays. * Added constexpr functions `first_scalar` in `` for obtaining a pointer to the first scalar element of an array. Given a pointer of type `T*` they return a pointer of type `remove_all_extents_t*`. * Added class template `noinit_adaptor` in `` which is an allocator adaptor that converts any allocator into one whose `construct(ptr)` performs default initialization via placement `new`, and whose `destroy(ptr)` invokes the `value_type` destructor directly. * Added class template `default_allocator` in ``, which can serve as a minimal default allocator that has interface similar to C++20 `std::allocator`, supports configurations with disabled exceptions and does not have `std` as an associated namespace. The allocator uses `operator new` and `operator delete` for allocation. * In `` header, added workarounds for better compatibility with QNX SDP 7.0 when libc++/libc++abi libraries are used. * The `` header is now marked as deprecated and will be removed in a future release. `` should be used instead. [endsect] [section Changes in 1.69.0] * Implemented `boost::empty_value`, for library authors to conveniently leverage the Empty Base Optimization to store objects of potentially empty types. * Implemented `boost::quick_exit` to provide the C++11 standard library facility `std::quick_exit` functionality. * Reduced the number of statics in Lightweight Test, and employ lighter abort behavior for MSVC compilers upon failure to call `boost::report_errors`. [endsect] [section Changes in 1.67.0] * Updated `to_address` and `pointer_traits` to reflect the design adopted for C++20 in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html P0653R2]. [endsect] [section Changes in 1.65.0] * Implemented `pointer_traits` for C++03 and higher, that implements [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r0.html P0653r0]. * Added `BOOST_TEST_GT` and `BOOST_TEST_GE` to Lightweight Test. [endsect] [endsect]