From 276c0241d75b63bb51af6e63245fc476b7c7fdfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Wed, 11 Mar 2015 21:16:10 +0100 Subject: [PATCH] 1.58 Container, Interprocess, Intrusive & Move Release notes for version 1.58 for those libraries --- feed/history/boost_1_58_0.qbk | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/feed/history/boost_1_58_0.qbk b/feed/history/boost_1_58_0.qbk index 98d6982a..bb646986 100644 --- a/feed/history/boost_1_58_0.qbk +++ b/feed/history/boost_1_58_0.qbk @@ -42,6 +42,26 @@ * [@http://svn.boost.org/trac/boost/ticket/11006 #11006] Impossible to instantiate time_fmt_io_saver due to several errors. * [@http://svn.boost.org/trac/boost/ticket/11012 #11012] chrono_io v2 fail to compile with boost::chrono::duration< boost::rational > +* [phrase library..[@/libs/container/ Container]:] + * Experimental [classref boost::container::small_vector small_vector] container. + * Massive dependency reorganization. Now [*Boost.Container] depends on very basic utilities like Boost.Core + and [*Boost.Intrusive]. Preprocessed code size have decreased considerably and compilation times have improved. + * Added `nth` and `index_of` functions to containers with random-access iterators (except `basic_string`). + * Added C++17's `allocator_traits::is_always_equal`. + * Updated containers to implement new constructors as specified in + [@http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2210 2210. Missing allocator-extended constructor for allocator-aware containers]. + * Fixed bugs: + * [@https://svn.boost.org/trac/boost/ticket/9931 #9931: ['"flat_map::insert(ordered_unique_range_t...) fails with move_iterators"]] (reopened). + * [@https://svn.boost.org/trac/boost/ticket/11076 #11076: ['"Unqualified calls to memmove/memcpy in container/detail/copy_move_algo.hpp"]]. + * [@https://svn.boost.org/trac/boost/ticket/10790 Trac #10790 (['long long errors from container"])]. + * [@https://svn.boost.org/trac/boost/ticket/10808 Trac #10808 (['compare equal operator of vector is broken"])]. + * [*Source Breaking]: [classref boost::container::scoped_allocator_adaptor scoped_allocator_adaptor]'s + `propagate_on_container_copy_assignment`, `propagate_on_container_move_assignment` and `propagate_on_container_swap` + are no longer `::boost::integral_constant` types. The dependency reorganization needed to break + with those classes to avoid MPL dependencies, and interoperability with `std::integral_constant` was not guaranteed. + Code assumming `boost::true_type/boost::false_type` on this will not compile. As a workaround, use the guaranteed internal + `::value` constant: `::boost::integral_constant::propagate_on_container_move_assignment::value>`. + * [phrase library..[@/libs/context/ Context]:] * support for ARM/iOS (32+64 bit) * class execution_context (C++14) @@ -75,6 +95,19 @@ * Fix missing includes ([ticket 8457]). * Many documentation fixes & improvements ([ticket 6090], [ticket 5324], [@https://github.com/boostorg/fusion/pull/33 GitHub PR #33], [@https://github.com/boostorg/fusion/pull/53 GitHub PR #53], [@https://github.com/boostorg/fusion/pull/56 GitHub PR #56]) +* [phrase library..[@/libs/interprocess/ Interprocess]:] + * Reduced some compile-time dependencies. Updated to Boost.Container changes. + * Fixed bugs: + * [@https://github.com/boostorg/interprocess/pull/13 GitHub Pull #13 (['"haiku: we don't have XSI shared memory, so don't try to use it"])]. + +* [phrase library..[@/libs/intrusive/ Intrusive]:] + * Reduced compile-time dependencies, headers, and the use of Boost.Preprocessor, specially for hooks and iterators. + * Fixed bugs: + * [@https://svn.boost.org/trac/boost/ticket/6720 Boost Trac #6720: ['intrusive::unordered_set::clear_and_dispose does not compile on VC11 Beta when passed a stateless lambda]] + * [@https://svn.boost.org/trac/boost/ticket/10771 Boost Trac #10771: ['remove_if is broken for slist]] + * [@https://svn.boost.org/trac/boost/ticket/10853 Boost Trac #10853: ['problem with detection of const_cast_from]] + * [@https://svn.boost.org/trac/boost/ticket/10987 Boost Trac #10987: ['bug in any_xxx_node_traits, returning by reference]] + * [phrase library..[@/libs/lexical_cast/ Lexical Cast]:] * Now std::stream is used for conversions to float numbers [ticket 5660], [ticket 6975], [ticket 10639] @@ -98,6 +131,13 @@ * Fixed extreme-value pdf for large valued inputs, see [@https://svn.boost.org/trac/boost/ticket/10938 #10938]. * Switched documentation to use SVG rather than PNG graphs and equations - browsers seem to have finally caught up! +* [phrase library..[@/libs/move/ Move]:] + * Added [macroref BOOST_MOVE_BASE BOOST_MOVE_BASE] utility. + * Added [funcref boost::adl_move_swap adl_move_swap] utility. + * Reduced dependencies on other Boost libraries to make the library a bit more lightweight. + * Fixed bugs: + * [@https://svn.boost.org/trac/boost/ticket/11044 Trac #11044: ['"boost::rv inherits off union, when such passed as template argument"]]. + * [phrase library..[@/libs/multi_index/index.html Multi-index Containers]:] * The efficiency of lookup operations has improved in situations where they involve the generation of temporary values of `key_type`. Consider for instance the following code: