The rebind mechanism doesn't work for templates with multiple template
parameters on old versions of GCC. But allocators written for that
compiler will have an explicit rebind, so that should be acceptable.
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]