<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">= Change Log</string>
    <string name="">:idprefix: changes_ :svn-ticket-url: https://svn.boost.org/trac/boost/ticket :github-pr-url: https://github.com/boostorg/unordered/pull :cpp: C++</string>
    <string name="">Release 1.89.0</string>
    <string name="">Deprecated `boost::unordered::hash_is_avalanching` is now a using-declaration of</string>
    <string name="">`boost::hash_is_avalanching` in `&lt;boost/container_hash/hash_is_avalanching.hpp&gt;`. Use that header directly instead. `&lt;boost/unordered/hash_traits.hpp&gt;` will be removed in the future.</string>
    <string name="">Added `pull(const_iterator)` to open-addressing containers. This operation</string>
    <string name="">allows for efficient removal and retrieval of an element via move construction.</string>
    <string name="">Release 1.88.0</string>
    <string name="">Migrated the documentation to a multipage format using Antora.</string>
    <string name="">Release 1.87.0 - Major update</string>
    <string name="">Added concurrent, node-based containers `boost::concurrent_node_map` and `boost::concurrent_node_set`.</string>
    <string name="">Added `insert_and_visit(x, f1, f2)` and similar operations to concurrent containers, which</string>
    <string name="">allow for visitation of an element right after insertion (by contrast, `insert_or_visit(x, f)` only visits the element if insertion did _not_ take place).</string>
    <string name="">Made visitation exclusive-locked within certain</string>
    <string name="">`boost::concurrent_flat_set` operations to allow for safe mutable modification of elements ({github-pr-url}/265[PR#265^]).</string>
    <string name="">In Visual Studio Natvis, supported any container with an allocator that uses fancy pointers. This applies to any fancy pointer type, as long as the proper Natvis customization point \"Intrinsic\" functions are written for the fancy pointer type.</string>
    <string name="">Added GDB pretty-printers for all containers and iterators. For a container with an allocator that uses fancy pointers, these only work if the proper pretty-printer is written for the fancy pointer type itself.</string>
    <string name="">Fixed `std::initializer_list` assignment issues for open-addressing containers</string>
    <string name="">({github-pr-url}/277[PR#277^]).</string>
    <string name="">Allowed non-copyable callables to be passed to the `std::initializer_list` overloads of `insert_{and|or}_[c]visit` for concurrent containers, by internally passing a `std::reference_wrapper` of the callable to the iterator-pair overloads.</string>
    <string name="">Release 1.86.0</string>
    <string name="">Added container `pmr` aliases when header `&lt;memory_resource&gt;` is available. The alias `boost::unordered::pmr::[container]` refers to `boost::unordered::[container]` with a `std::pmr::polymorphic_allocator` allocator type.</string>
    <string name="">Equipped open-addressing and concurrent containers to internally calculate and provide statistical metrics affected by the quality of the hash function. This functionality is enabled by the global macro `BOOST_UNORDERED_ENABLE_STATS`.</string>
    <string name="">Avalanching hash functions must now be marked via an `is_avalanching` typedef with an embedded `value` constant set to `true` (typically, defining `is_avalanching` as `std::true_type`). `using is_avalanching = void` is deprecated but allowed for backwards compatibility.</string>
    <string name="">Added Visual Studio Natvis framework custom visualizations for containers and iterators. This works for all containers with an allocator using raw pointers. In this release, containers and iterators are not supported if their allocator uses fancy pointers. This may be addressed in later releases.</string>
    <string name="">Release 1.85.0</string>
    <string name="">Optimized `emplace()` for a `value_type` or `init_type` (if applicable) argument to bypass creating an intermediate object. The argument is already the same type as the would-be intermediate object.</string>
    <string name="">Optimized `emplace()` for `k,v` arguments on map containers to delay constructing the object until it is certain that an element should be inserted. This optimization happens when the map\'s `key_type` is move constructible or when the `k` argument is a `key_type`.</string>
    <string name="">Fixed support for allocators with `explicit` copy constructors ({github-pr-url}/234[PR#234^]).</string>
    <string name="">Fixed bug in the `const` version of `unordered_multimap::find(k, hash, eq)` ({github-pr-url}/238[PR#238^]).</string>
    <string name="">Release 1.84.0 - Major update</string>
    <string name="">Added `boost::concurrent_flat_set`.</string>
    <string name="">Added `[c]visit_while` operations to concurrent containers,</string>
    <string name="">with serial and parallel variants.</string>
    <string name="">Added efficient move construction of `boost::unordered_flat_(map|set)` from</string>
    <string name="">`boost::concurrent_flat_(map|set)` and vice versa.</string>
    <string name="">Added bulk visitation to concurrent containers for increased lookup performance.</string>
    <string name="">Added debug-mode mechanisms for detecting illegal reentrancies into</string>
    <string name="">a concurrent container from user code.</string>
    <string name="">Added Boost.Serialization support to all containers and their (non-local) iterator types.</string>
    <string name="">Added support for fancy pointers to open-addressing and concurrent containers.</string>
    <string name="">This enables scenarios like the use of Boost.Interprocess allocators to construct containers in shared memory.</string>
    <string name="">Fixed bug in member of pointer operator for local iterators of closed-addressing</string>
    <string name="">containers ({github-pr-url}/221[PR#221^], credit goes to GitHub user vslashg for finding and fixing this issue).</string>
    <string name="">Starting with this release, `boost::unordered_[multi]set` and `boost::unordered_[multi]map`</string>
    <string name="">only work with C++11 onwards.</string>
    <string name="">Release 1.83.0 - Major update</string>
    <string name="">Added `boost::concurrent_flat_map`, a fast, thread-safe hashmap based on open addressing.</string>
    <string name="">Sped up iteration of open-addressing containers.</string>
    <string name="">In open-addressing containers, `erase(iterator)`, which previously returned nothing, now</string>
    <string name="">returns a proxy object convertible to an iterator to the next element. This enables the typical `it = c.erase(it)` idiom without incurring any performance penalty when the returned proxy is not used.</string>
    <string name="">Release 1.82.0 - Major update</string>
    <string name="">{cpp}03 support is planned for deprecation. Boost 1.84.0 will no longer support</string>
    <string name="">{cpp}03 mode and {cpp}11 will become the new minimum for using the library.</string>
    <string name="">Added node-based, open-addressing containers</string>
    <string name="">`boost::unordered_node_map` and `boost::unordered_node_set`.</string>
    <string name="">Extended heterogeneous lookup to more member functions as specified in</string>
    <string name="">https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html[P2363].</string>
    <string name="">Replaced the previous post-mixing process for open-addressing containers with</string>
    <string name="">a new algorithm based on extended multiplication by a constant.</string>
    <string name="">Fixed bug in internal emplace() impl where stack-local types were not properly</string>
    <string name="">constructed using the Allocator of the container which breaks uses-allocator construction.</string>
    <string name="">Release 1.81.0 - Major update</string>
    <string name="">Added fast containers `boost::unordered_flat_map` and `boost::unordered_flat_set`</string>
    <string name="">based on open addressing.</string>
    <string name="">Added CTAD deduction guides for all containers.</string>
    <string name="">Added missing constructors as specified in https://cplusplus.github.io/LWG/issue2713[LWG issue 2713].</string>
    <string name="">Release 1.80.0 - Major update</string>
    <string name="">Refactor internal implementation to be dramatically faster</string>
    <string name="">Allow `final` Hasher and KeyEqual objects</string>
    <string name="">Update documentation, adding benchmark graphs and notes on the new internal</string>
    <string name="">data structures</string>
    <string name="">Release 1.79.0</string>
    <string name=":110">Improved {cpp}20 support:</string>
    <string name="">** All containers have been updated to support heterogeneous `count`, `equal_range` and `find`. ** All containers now implement the member function `contains`. ** `erase_if` has been implemented for all containers.</string>
    <string name="">Improved {cpp}23 support:</string>
    <string name="">** All containers have been updated to support heterogeneous `erase` and `extract`.</string>
    <string name="">Changed behavior of `reserve` to eagerly</string>
    <string name="">allocate ({github-pr-url}/59[PR#59^]).</string>
    <string name="">Various warning fixes in the test suite.</string>
    <string name="">Update code to internally use `boost::allocator_traits`.</string>
    <string name="">Switch to Fibonacci hashing.</string>
    <string name="">Update documentation to be written in AsciiDoc instead of QuickBook.</string>
    <string name="">Release 1.67.0</string>
    <string name="">Improved {cpp}17 support:</string>
    <string name="">** Add template deduction guides from the standard. ** Use a simple implementation of `optional` in node handles, so that they\'re closer to the standard. ** Add missing `noexcept` specifications to `swap`, `operator=` and node handles, and change the implementation to match. Using `std::allocator_traits::is_always_equal`, or our own implementation when not available, and `boost::is_nothrow_swappable` in the implementation.</string>
    <string name=":136">Improved {cpp}20 support:</string>
    <string name="">** Use `boost::to_address`, which has the proposed {cpp}20 semantics, rather than the old custom implementation.</string>
    <string name="">Add `element_type` to iterators, so that `std::pointer_traits`</string>
    <string name="">will work.</string>
    <string name="">Use `std::piecewise_construct` on recent versions of Visual {cpp},</string>
    <string name="">and other uses of the Dinkumware standard library, now using Boost.Predef to check compiler and library versions.</string>
    <string name="">Use `std::iterator_traits` rather than the boost iterator traits</string>
    <string name="">in order to remove dependency on Boost.Iterator.</string>
    <string name="">Remove iterators\' inheritance from `std::iterator`, which is</string>
    <string name="">deprecated in {cpp}17, thanks to Daniela Engert ({github-pr-url}/7[PR#7^]).</string>
    <string name="">Stop using `BOOST_DEDUCED_TYPENAME`.</string>
    <string name="">Update some Boost include paths.</string>
    <string name="">Rename some internal methods, and variables.</string>
    <string name="">Various testing improvements.</string>
    <string name="">Miscellaneous internal changes.</string>
    <string name="">Release 1.66.0</string>
    <string name="">Simpler move construction implementation.</string>
    <string name="">Documentation fixes ({github-pr-url}/6[GitHub #6^]).</string>
    <string name="">Release 1.65.0</string>
    <string name="">Add deprecated attributes to `quick_erase` and `erase_return_void`.</string>
    <string name="">I really will remove them in a future version this time.</string>
    <string name="">Small standards compliance fixes:</string>
    <string name="">** `noexpect` specs for `swap` free functions. ** Add missing `insert(P&amp;&amp;)` methods.</string>
    <string name="">Release 1.64.0</string>
    <string name="">Initial support for new {cpp}17 member functions:</string>
    <string name="">`insert_or_assign` and `try_emplace` in `unordered_map`,</string>
    <string name="">Initial support for `merge` and `extract`.</string>
    <string name="">Does not include transferring nodes between `unordered_map` and `unordered_multimap` or between `unordered_set` and `unordered_multiset` yet. That will hopefully be in the next version of Boost.</string>
    <string name="">Release 1.63.0</string>
    <string name="">Check hint iterator in `insert`/`emplace_hint`.</string>
    <string name="">Fix some warnings, mostly in the tests.</string>
    <string name="">Manually write out `emplace_args` for small numbers of arguments -</string>
    <string name="">should make template error messages a little more bearable.</string>
    <string name="">Remove superfluous use of `boost::forward` in emplace arguments,</string>
    <string name="">which fixes emplacing string literals in old versions of Visual {cpp}.</string>
    <string name="">Fix an exception safety issue in assignment. If bucket allocation</string>
    <string name="">throws an exception, it can overwrite the hash and equality functions while leaving the existing elements in place. This would mean that the function objects wouldn\'t match the container elements, so elements might be in the wrong bucket and equivalent elements would be incorrectly handled.</string>
    <string name="">Various reference documentation improvements.</string>
    <string name="">Better allocator support ({svn-ticket-url}/12459[#12459^]).</string>
    <string name="">Make the no argument constructors implicit.</string>
    <string name="">Implement missing allocator aware constructors.</string>
    <string name="">Fix assigning the hash/key equality functions for empty containers.</string>
    <string name="">Remove unary/binary_function from the examples in the documentation.</string>
    <string name="">They are removed in {cpp}17.</string>
    <string name="">Support 10 constructor arguments in emplace. It was meant to support up to 10</string>
    <string name="">arguments, but an off by one error in the preprocessor code meant it only supported up to 9.</string>
    <string name="">Release 1.62.0</string>
    <string name="">Remove use of deprecated `boost::iterator`.</string>
    <string name="">Remove `BOOST_NO_STD_DISTANCE` workaround.</string>
    <string name="">Remove `BOOST_UNORDERED_DEPRECATED_EQUALITY` warning.</string>
    <string name="">Simpler implementation of assignment, fixes an exception safety issue</string>
    <string name="">for `unordered_multiset` and `unordered_multimap`. Might be a little slower.</string>
    <string name="">Stop using return value SFINAE which some older compilers have issues</string>
    <string name="">with.</string>
    <string name="">Release 1.58.0</string>
    <string name="">Remove unnecessary template parameter from const iterators.</string>
    <string name="">Rename private `iterator` typedef in some iterator classes, as it</string>
    <string name="">confuses some traits classes.</string>
    <string name="">Fix move assignment with stateful, propagate_on_container_move_assign</string>
    <string name="">allocators ({svn-ticket-url}/10777[#10777^]).</string>
    <string name="">Fix rare exception safety issue in move assignment.</string>
    <string name="">Fix potential overflow when calculating number of buckets to allocate</string>
    <string name="">({github-pr-url}/4[GitHub #4^]).</string>
    <string name="">Release 1.57.0</string>
    <string name="">Fix the `pointer` typedef in iterators ({svn-ticket-url}/10672[#10672^]).</string>
    <string name="">Fix Coverity warning</string>
    <string name="">({github-pr-url}/2[GitHub #2^]).</string>
    <string name="">Release 1.56.0</string>
    <string name="">Fix some shadowed variable warnings ({svn-ticket-url}/9377[#9377^]).</string>
    <string name="">Fix allocator use in documentation ({svn-ticket-url}/9719[#9719^]).</string>
    <string name="">Always use prime number of buckets for integers. Fixes performance</string>
    <string name="">regression when inserting consecutive integers, although makes other uses slower ({svn-ticket-url}/9282[#9282^]).</string>
    <string name="">Only construct elements using allocators, as specified in {cpp}11 standard.</string>
    <string name="">Release 1.55.0</string>
    <string name="">Avoid some warnings ({svn-ticket-url}/8851[#8851^], {svn-ticket-url}/8874[#8874^]).</string>
    <string name="">Avoid exposing some detail functions via. ADL on the iterators.</string>
    <string name="">Follow the standard by only using the allocators\' construct and destroy</string>
    <string name="">methods to construct and destroy stored elements. Don\'t use them for internal data like pointers.</string>
    <string name="">Release 1.54.0</string>
    <string name="">Mark methods specified in standard as `noexpect`. More to come in the next</string>
    <string name="">release.</string>
    <string name="">If the hash function and equality predicate are known to both have nothrow</string>
    <string name="">move assignment or construction then use them.</string>
    <string name="">Release 1.53.0</string>
    <string name="">Remove support for the old pre-standard variadic pair constructors, and</string>
    <string name="">equality implementation. Both have been deprecated since Boost 1.48.</string>
    <string name="">Remove use of deprecated config macros.</string>
    <string name="">More internal implementation changes, including a much simpler</string>
    <string name="">implementation of `erase`.</string>
    <string name="">Release 1.52.0</string>
    <string name="">Faster assign, which assigns to existing nodes where possible, rather than</string>
    <string name="">creating entirely new nodes and copy constructing.</string>
    <string name="">Fixed bug in `erase_range` ({svn-ticket-url}/7471[#7471^]).</string>
    <string name="">Reverted some of the internal changes to how nodes are created, especially</string>
    <string name="">for {cpp}11 compilers. \'construct\' and \'destroy\' should work a little better for {cpp}11 allocators.</string>
    <string name="">Simplified the implementation a bit. Hopefully more robust.</string>
    <string name="">Release 1.51.0</string>
    <string name="">Fix construction/destruction issue when using a {cpp}11 compiler with a</string>
    <string name="">{cpp}03 allocator ({svn-ticket-url}/7100[#7100^]).</string>
    <string name="">Remove a `try..catch` to support compiling without exceptions.</string>
    <string name="">Adjust SFINAE use to try to support g++ 3.4 ({svn-ticket-url}/7175[#7175^]).</string>
    <string name="">Updated to use the new config macros.</string>
    <string name="">Release 1.50.0</string>
    <string name="">Fix equality for `unordered_multiset` and `unordered_multimap`.</string>
    <string name="">{svn-ticket-url}/6857[Ticket 6857^]:</string>
    <string name="">Implement `reserve`.</string>
    <string name="">{svn-ticket-url}/6771[Ticket 6771^]:</string>
    <string name="">Avoid gcc\'s `-Wfloat-equal` warning.</string>
    <string name="">{svn-ticket-url}/6784[Ticket 6784^]:</string>
    <string name="">Fix some Sun specific code.</string>
    <string name="">{svn-ticket-url}/6190[Ticket 6190^]:</string>
    <string name="">Avoid gcc\'s `-Wshadow` warning.</string>
    <string name="">{svn-ticket-url}/6905[Ticket 6905^]:</string>
    <string name="">Make namespaces in macros compatible with `bcp` custom namespaces. Fixed by Luke Elliott.</string>
    <string name="">Remove some of the smaller prime number of buckets, as they may make</string>
    <string name="">collisions quite probable (e.g. multiples of 5 are very common because we used base 10).</string>
    <string name="">On old versions of Visual {cpp}, use the container library\'s implementation</string>
    <string name="">of `allocator_traits`, as it\'s more likely to work.</string>
    <string name="">On machines with 64 bit std::size_t, use power of 2 buckets, with Thomas</string>
    <string name="">Wang\'s hash function to pick which one to use. As modulus is very slow for 64 bit values.</string>
    <string name="">Some internal changes.</string>
    <string name="">Release 1.49.0</string>
    <string name="">Fix warning due to accidental odd assignment.</string>
    <string name="">Slightly better error messages.</string>
    <string name="">Release 1.48.0 - Major update</string>
    <string name="">This is major change which has been converted to use Boost.Move\'s move emulation, and be more compliant with the {cpp}11 standard. See the xref:compliance.adoc[compliance section] for details.</string>
    <string name="">The container now meets {cpp}11\'s complexity requirements, but to do so uses a little more memory. This means that `quick_erase` and `erase_return_void` are no longer required, they\'ll be removed in a future version.</string>
    <string name="">{cpp}11 support has resulted in some breaking changes:</string>
    <string name="">Equality comparison has been changed to the {cpp}11 specification.</string>
    <string name="">In a container with equivalent keys, elements in a group with equal keys used to have to be in the same order to be considered equal, now they can be a permutation of each other. To use the old behavior define the macro `BOOST_UNORDERED_DEPRECATED_EQUALITY`.</string>
    <string name="">The behaviour of swap is different when the two containers to be</string>
    <string name="">swapped has unequal allocators. It used to allocate new nodes using the appropriate allocators, it now swaps the allocators if the allocator has a member structure `propagate_on_container_swap`, such that `propagate_on_container_swap::value` is true.</string>
    <string name="">Allocator\'s `construct` and `destroy` functions are called with raw</string>
    <string name="">pointers, rather than the allocator\'s `pointer` type.</string>
    <string name="">`emplace` used to emulate the variadic pair constructors that</string>
    <string name="">appeared in early {cpp}0x drafts. Since they were removed it no longer does so. It does emulate the new `piecewise_construct` pair constructors - only you need to use `boost::piecewise_construct`. To use the old emulation of the variadic constructors define `BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT`.</string>
    <string name="">Release 1.45.0</string>
    <string name="">Fix a bug when inserting into an `unordered_map` or `unordered_set` using</string>
    <string name="">iterators which returns `value_type` by copy.</string>
    <string name="">Release 1.43.0</string>
    <string name="">{svn-ticket-url}/3966[Ticket 3966^]:</string>
    <string name="">`erase_return_void` is now `quick_erase`, which is the http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#579[ current forerunner for resolving the slow erase by iterator^], 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.</string>
    <string name="">Use Boost.Exception.</string>
    <string name="">Stop using deprecated `BOOST_HAS_*` macros.</string>
    <string name="">Release 1.42.0</string>
    <string name="">Support instantiating the containers with incomplete value types.</string>
    <string name="">Reduced the number of warnings (mostly in tests).</string>
    <string name="">Improved codegear compatibility.</string>
    <string name="">{svn-ticket-url}/3693[Ticket 3693^]:</string>
    <string name="">Add `erase_return_void` as a temporary workaround for the current `erase` which can be inefficient because it has to find the next element to return an iterator.</string>
    <string name="">Add templated find overload for compatible keys.</string>
    <string name="">{svn-ticket-url}/3773[Ticket 3773^]:</string>
    <string name="">Add missing `std` qualifier to `ptrdiff_t`.</string>
    <string name="">Some code formatting changes to fit almost all lines into 80 characters.</string>
    <string name="">Release 1.41.0 - Major update</string>
    <string name="">The original version made heavy use of macros to sidestep some of the older</string>
    <string name="">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.</string>
    <string name="">The container object is now smaller thanks to using `boost::compressed_pair`</string>
    <string name="">for EBO and a slightly different function buffer - now using a bool instead of a member pointer.</string>
    <string name="">Buckets are allocated lazily which means that constructing an empty container</string>
    <string name="">will not allocate any memory.</string>
    <string name="">Release 1.40.0</string>
    <string name="">{svn-ticket-url}/2975[Ticket 2975^]:</string>
    <string name="">Store the prime list as a preprocessor sequence - so that it will always get the length right if it changes again in the future.</string>
    <string name="">{svn-ticket-url}/1978[Ticket 1978^]:</string>
    <string name="">Implement `emplace` for all compilers.</string>
    <string name="">{svn-ticket-url}/2908[Ticket 2908^],</string>
    <string name="">{svn-ticket-url}/3096[Ticket 3096^]: Some workarounds for old versions of borland, including adding explicit destructors to all containers.</string>
    <string name="">{svn-ticket-url}/3082[Ticket 3082^]:</string>
    <string name="">Disable incorrect Visual {cpp} warnings.</string>
    <string name="">Better configuration for {cpp}0x features when the headers aren\'t available.</string>
    <string name="">Create less buckets by default.</string>
    <string name="">Release 1.39.0</string>
    <string name="">{svn-ticket-url}/2756[Ticket 2756^]: Avoid a warning</string>
    <string name="">on Visual {cpp} 2009.</string>
    <string name="">Some other minor internal changes to the implementation, tests and</string>
    <string name="">documentation.</string>
    <string name="">Avoid an unnecessary copy in `operator[]`.</string>
    <string name="">{svn-ticket-url}/2975[Ticket 2975^]: Fix length of</string>
    <string name="">prime number list.</string>
    <string name="">Release 1.38.0</string>
    <string name="">Use link:../../../../core/swap.html[`boost::swap`^].</string>
    <string name="">{svn-ticket-url}/2237[Ticket 2237^]:</string>
    <string name="">Document that the equality and inequality operators are undefined for two objects if their equality predicates aren\'t equivalent. Thanks to Daniel Krügler.</string>
    <string name="">{svn-ticket-url}/1710[Ticket 1710^]:</string>
    <string name="">Use a larger prime number list. Thanks to Thorsten Ottosen and Hervé Brönnimann.</string>
    <string name="">Use</string>
    <string name="">link:../../../../type_traits/index.html[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.</string>
    <string name="">Add support for {cpp}0x initializer lists where they\'re available (currently</string>
    <string name="">only g++ 4.4 in {cpp}0x mode).</string>
    <string name="">Release 1.37.0</string>
    <string name="">Rename overload of `emplace` with hint, to `emplace_hint` as specified in</string>
    <string name="">http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2691.pdf[n2691^].</string>
    <string name="">Provide forwarding headers at `&lt;boost/unordered/unordered_map_fwd.hpp&gt;` and</string>
    <string name="">`&lt;boost/unordered/unordered_set_fwd.hpp&gt;`.</string>
    <string name="">Move all the implementation inside `boost/unordered`, to assist</string>
    <string name="">modularization and hopefully make it easier to track Release subversion.</string>
    <string name="">Release 1.36.0</string>
    <string name="">First official release.</string>
    <string name="">Rearrange the internals.</string>
    <string name="">Move semantics - full support when rvalue references are available, emulated</string>
    <string name="">using a cut down version of the Adobe move library when they are not.</string>
    <string name="">Emplace support when rvalue references and variadic template are available.</string>
    <string name="">More efficient node allocation when rvalue references and variadic template</string>
    <string name="">are available.</string>
    <string name="">Added equality operators.</string>
    <string name="">Boost 1.35.0 Add-on - 31st March 2008</string>
    <string name="">Unofficial release uploaded to vault, to be used with Boost 1.35.0. Incorporated many of the suggestions from the review.</string>
    <string name="">Improved portability thanks to Boost regression testing.</string>
    <string name="">Fix lots of typos, and clearer text in the documentation.</string>
    <string name="">Fix floating point to `std::size_t` conversion when calculating sizes from</string>
    <string name="">the max load factor, and use `double` in the calculation for greater accuracy.</string>
    <string name="">Fix some errors in the examples.</string>
    <string name="">Review Version</string>
    <string name="">Initial review version, for the review conducted from 7th December 2007 to 16th December 2007.</string>
</resources>
