Some of this was there for older compilers, some is just premature
generalization. There's still too much metaprogramming, but these are things
that are relatively easy to remove.
[SVN r79356]
It was originally introduced because of some issues with Boost.Test and older
compilers, neither of which I'm using now. Simplifies a few things.
[SVN r79352]
- Simplify mechanism for detecting traits of test allocators. There were
some portability issues, but rather than fix them I've just gone for a
simpler mechanism. Does mean that the relevant tests can't be run for
other allocators.
- Fix a couple of unnecessary_copy_tests, whose results were the wrong
way round.
- It appears that Visual C++ only implements RVO for implicitly defined
copy constructors in debug mode, so adjust a move_test to account for
the extra copies now that the copy constructors are explicitly
defined.
[SVN r73798]
It's pretty messy because I'm trying to avoid swapping allocators in
these cases. I'm also not sure of the exception requirements of
allocator swap and assignment.
[SVN r73756]
Store nodes in a single linked list, with hash values so that their
buckets can be found when needed. Iterators now only have to store a
pointer to the node and don't have to iterate over empty buckets to
reach the next node. This allows the container to meet the iterator
requirements - fixing the speed issues with `equal_range` and `erase`.
Also, define iterators in their own namespace, so that they don't
accidentally pull in detail functions via ADL.
I've simplified the code slightly by removing some of the special
cases for empty containers. Renamed a few things as well and other
minor changes that were made as I went along.
[SVN r71327]
Merged revisions 46470-46592 via svnmerge from
https://svn.boost.org/svn/boost/branches/unordered/trunk
................
r46589 | danieljames | 2008-06-21 21:37:42 +0100 (Sat, 21 Jun 2008) | 2 lines
Fix some inspect errors (tabs and missing copyright/license).
................
r46591 | danieljames | 2008-06-21 21:47:51 +0100 (Sat, 21 Jun 2008) | 1 line
Move memory.hpp into the helpers subdirectory.
................
r46592 | danieljames | 2008-06-21 22:08:53 +0100 (Sat, 21 Jun 2008) | 1 line
Prevent inspect errors for unnamed namespaces in some of the test header files.
................
[SVN r46594]