| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> |
| <title>Change Log</title> |
| <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> |
| <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> |
| <link rel="up" href="../unordered.html" title="Chapter 29. Boost.Unordered"> |
| <link rel="prev" href="rationale.html" title="Implementation Rationale"> |
| <link rel="next" href="reference.html" title="Reference"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table cellpadding="2" width="100%"><tr> |
| <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td> |
| <td align="center"><a href="../../../index.html">Home</a></td> |
| <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td> |
| <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> |
| <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> |
| <td align="center"><a href="../../../more/index.htm">More</a></td> |
| </tr></table> |
| <hr> |
| <div class="spirit-nav"> |
| <a accesskey="p" href="rationale.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unordered.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> |
| </div> |
| <div class="section"> |
| <div class="titlepage"><div><div><h2 class="title" style="clear: both"> |
| <a name="unordered.changes"></a><a class="link" href="changes.html" title="Change Log">Change Log</a> |
| </h2></div></div></div> |
| <a name="unordered.changes.review_version"></a><h3> |
| <a name="unordered.changes.review_version-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.review_version">Review Version</a> |
| </h3> |
| <p> |
| Initial review version, for the review conducted from 7th December 2007 to |
| 16th December 2007. |
| </p> |
| <a name="unordered.changes.1_35_0_add_on___31st_march_2008"></a><h3> |
| <a name="unordered.changes.1_35_0_add_on___31st_march_2008-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.1_35_0_add_on___31st_march_2008">1.35.0 Add-on |
| - 31st March 2008</a> |
| </h3> |
| <p> |
| Unofficial release uploaded to vault, to be used with Boost 1.35.0. Incorporated |
| many of the suggestions from the review. |
| </p> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Improved portability thanks to Boost regression testing. |
| </li> |
| <li class="listitem"> |
| Fix lots of typos, and clearer text in the documentation. |
| </li> |
| <li class="listitem"> |
| Fix floating point to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code> |
| conversion when calculating sizes from the max load factor, and use <code class="computeroutput"><span class="keyword">double</span></code> in the calculation for greater accuracy. |
| </li> |
| <li class="listitem"> |
| Fix some errors in the examples. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_36_0"></a><h3> |
| <a name="unordered.changes.boost_1_36_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_36_0">Boost 1.36.0</a> |
| </h3> |
| <p> |
| First official release. |
| </p> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Rearrange the internals. |
| </li> |
| <li class="listitem"> |
| Move semantics - full support when rvalue references are available, emulated |
| using a cut down version of the Adobe move library when they are not. |
| </li> |
| <li class="listitem"> |
| Emplace support when rvalue references and variadic template are available. |
| </li> |
| <li class="listitem"> |
| More efficient node allocation when rvalue references and variadic template |
| are available. |
| </li> |
| <li class="listitem"> |
| Added equality operators. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_37_0"></a><h3> |
| <a name="unordered.changes.boost_1_37_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_37_0">Boost 1.37.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Rename overload of <code class="computeroutput"><span class="identifier">emplace</span></code> |
| with hint, to <code class="computeroutput"><span class="identifier">emplace_hint</span></code> |
| as specified in <a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2691.pdf" target="_top">n2691</a>. |
| </li> |
| <li class="listitem"> |
| Provide forwarding headers at <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered</span><span class="special">/</span><span class="identifier">unordered_map_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> |
| and <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered</span><span class="special">/</span><span class="identifier">unordered_set_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>. |
| </li> |
| <li class="listitem"> |
| Move all the implementation inside <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered</span></code>, |
| to assist modularization and hopefully make it easier to track changes |
| in subversion. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_38_0"></a><h3> |
| <a name="unordered.changes.boost_1_38_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_38_0">Boost 1.38.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Use <a href="../../../libs/utility/swap.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">swap</span></code></a>. |
| </li> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/2237" target="_top">Ticket 2237</a>: |
| Document that the equality and inequality operators are undefined for two |
| objects if their equality predicates aren't equivalent. Thanks to Daniel |
| Krügler. |
| </li> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/1710" target="_top">Ticket 1710</a>: |
| Use a larger prime number list. Thanks to Thorsten Ottosen and Hervé Brönnimann. |
| </li> |
| <li class="listitem"> |
| Use <a href="../../../libs/type_traits/doc/html/boost_typetraits/category/alignment.html" target="_top">aligned |
| storage</a> to store the types. This changes the way the allocator |
| is used to construct nodes. It used to construct the node with two calls |
| to the allocator's <code class="computeroutput"><span class="identifier">construct</span></code> |
| method - once for the pointers and once for the value. It now constructs |
| the node with a single call to construct and then constructs the value |
| using in place construction. |
| </li> |
| <li class="listitem"> |
| Add support for C++0x initializer lists where they're available (currently |
| only g++ 4.4 in C++0x mode). |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_39_0"></a><h3> |
| <a name="unordered.changes.boost_1_39_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_39_0">Boost 1.39.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/2756" target="_top">Ticket 2756</a>: |
| Avoid a warning on Visual C++ 2009. |
| </li> |
| <li class="listitem"> |
| Some other minor internal changes to the implementation, tests and documentation. |
| </li> |
| <li class="listitem"> |
| Avoid an unnecessary copy in <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code>. |
| </li> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/2975" target="_top">Ticket 2975</a>: |
| Fix length of prime number list. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_40_0"></a><h3> |
| <a name="unordered.changes.boost_1_40_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_40_0">Boost 1.40.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/2975" target="_top">Ticket 2975</a>: |
| Store the prime list as a preprocessor sequence - so that it will always |
| get the length right if it changes again in the future. |
| </li> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/1978" target="_top">Ticket 1978</a>: |
| Implement <code class="computeroutput"><span class="identifier">emplace</span></code> for all |
| compilers. |
| </li> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/2908" target="_top">Ticket 2908</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/3096" target="_top">Ticket 3096</a>: |
| Some workarounds for old versions of borland, including adding explicit |
| destructors to all containers. |
| </li> |
| <li class="listitem"> |
| <a href="https://svn.boost.org/trac/boost/ticket/3082" target="_top">Ticket 3082</a>: |
| Disable incorrect Visual C++ warnings. |
| </li> |
| <li class="listitem"> |
| Better configuration for C++0x features when the headers aren't available. |
| </li> |
| <li class="listitem"> |
| Create less buckets by default. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_41_0___major_update"></a><h3> |
| <a name="unordered.changes.boost_1_41_0___major_update-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_41_0___major_update">Boost 1.41.0 |
| - Major update</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| The original version made heavy use of macros to sidestep some of the older |
| compilers' poor template support. But since I no longer support those compilers |
| and the macro use was starting to become a maintenance burden it has been |
| rewritten to use templates instead of macros for the implementation classes. |
| </li> |
| <li class="listitem"> |
| The container objcet is now smaller thanks to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">compressed_pair</span></code> |
| for EBO and a slightly different function buffer - now using a bool instead |
| of a member pointer. |
| </li> |
| <li class="listitem"> |
| Buckets are allocated lazily which means that constructing an empty container |
| will not allocate any memory. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_42_0"></a><h3> |
| <a name="unordered.changes.boost_1_42_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_42_0">Boost 1.42.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Support instantiating the containers with incomplete value types. |
| </li> |
| <li class="listitem"> |
| Reduced the number of warnings (mostly in tests). |
| </li> |
| <li class="listitem"> |
| Improved codegear compatibility. |
| </li> |
| <li class="listitem"> |
| <a href="http://svn.boost.org/trac/boost/ticket/3693" target="_top">Ticket 3693</a>: |
| Add <code class="computeroutput"><span class="identifier">erase_return_void</span></code> as |
| a temporary workaround for the current <code class="computeroutput"><span class="identifier">erase</span></code> |
| which can be inefficient because it has to find the next element to return |
| an iterator. |
| </li> |
| <li class="listitem"> |
| Add templated find overload for compatible keys. |
| </li> |
| <li class="listitem"> |
| <a href="http://svn.boost.org/trac/boost/ticket/3773" target="_top">Ticket 3773</a>: |
| Add missing <code class="computeroutput"><span class="identifier">std</span></code> qualifier |
| to <code class="computeroutput"><span class="identifier">ptrdiff_t</span></code>. |
| </li> |
| <li class="listitem"> |
| Some code formatting changes to fit almost all lines into 80 characters. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_43_0"></a><h3> |
| <a name="unordered.changes.boost_1_43_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_43_0">Boost 1.43.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| <a href="http://svn.boost.org/trac/boost/ticket/3966" target="_top">Ticket 3966</a>: |
| <code class="computeroutput"><span class="identifier">erase_return_void</span></code> is now |
| <code class="computeroutput"><span class="identifier">quick_erase</span></code>, which is the |
| <a href="http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#579" target="_top">current |
| forerunner for resolving the slow erase by iterator</a>, although there's |
| a strong possibility that this may change in the future. The old method |
| name remains for backwards compatibility but is considered deprecated and |
| will be removed in a future release. |
| </li> |
| <li class="listitem"> |
| Use Boost.Exception. |
| </li> |
| <li class="listitem"> |
| Stop using deprecated <code class="computeroutput"><span class="identifier">BOOST_HAS_</span><span class="special">*</span></code> macros. |
| </li> |
| </ul></div> |
| <a name="unordered.changes.boost_1_45_0"></a><h3> |
| <a name="unordered.changes.boost_1_45_0-heading"></a> |
| <a class="link" href="changes.html#unordered.changes.boost_1_45_0">Boost 1.45.0</a> |
| </h3> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> |
| Fix a bug when inserting into an <code class="computeroutput"><span class="identifier">unordered_map</span></code> |
| or <code class="computeroutput"><span class="identifier">unordered_set</span></code> using |
| iterators which returns <code class="computeroutput"><span class="identifier">value_type</span></code> |
| by copy. |
| </li></ul></div> |
| </div> |
| <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> |
| <td align="left"></td> |
| <td align="right"><div class="copyright-footer">Copyright © 2003, 2004 Jeremy B. Maitin-Shepard<br>Copyright © 2005-2008 Daniel |
| James<p> |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) |
| </p> |
| </div></td> |
| </tr></table> |
| <hr> |
| <div class="spirit-nav"> |
| <a accesskey="p" href="rationale.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unordered.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> |
| </div> |
| </body> |
| </html> |