<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.75.2">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../unordered.html" title="Chapter&#160;27.&#160;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="id3025247"></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="id3025273"></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="id3025362"></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="id3025429"></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">&lt;</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">&gt;</span></code>
          and <code class="computeroutput"><span class="special">&lt;</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">&gt;</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="id3025608"></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&#252;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&#233; Br&#246;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="id3025732"></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="id3025810"></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="id3025922"></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="id3025995"></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="id3026122"></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="id3026217"></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 &#169; 2003, 2004 Jeremy B. Maitin-Shepard<br>Copyright &#169; 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>
