Initial review version, for the review conducted from 7th December 2007 to
16th December 2007.
Unofficial release uploaded to vault, to be used with Boost 1.35.0. Incorporated
many of the suggestions from the review.
-
Improved portability thanks to Boost regression testing.
-
Fix lots of typos, and clearer text in the documentation.
-
Fix floating point to
std::size_t
conversion when calculating sizes from the max load factor, and use double
in the calculation for greater accuracy.
-
Fix some errors in the examples.
First official release.
-
Rearrange the internals.
-
Move semantics - full support when rvalue references are available, emulated
using a cut down version of the Adobe move library when they are not.
-
Emplace support when rvalue references and variadic template are available.
-
More efficient node allocation when rvalue references and variadic template
are available.
-
Added equality operators.
-
Rename overload of
emplace
with hint, to emplace_hint
as specified in n2691.
-
Provide forwarding headers at
<boost/unordered/unordered_map_fwd.hpp>
and <boost/unordered/unordered_set_fwd.hpp>
.
-
Move all the implementation inside
boost/unordered
,
to assist modularization and hopefully make it easier to track changes in
subversion.
-
Use
boost::swap
.
-
Ticket 2237:
Document that the equality and inequality operators are undefined for two
objects if their equality predicates aren't equivalent. Thanks to Daniel
Krügler.
-
Ticket 1710:
Use a larger prime number list. Thanks to Thorsten Ottosen and Hervé Brönnimann.
-
Use aligned
storage 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
construct
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.
-
Add support for C++0x initializer lists where they're available (currently
only g++ 4.4 in C++0x mode).