The standard specifies that all of these "shall not exit via an
exception". The containers have been exception safe when these throw,
but the 'noexcept' attribute on 'get_allocator' will terminate if an
exception is thrown in the copy constructor.
The standard doesn't specify a default constructor, so that is allowed
to throw an exception (not just pedantry, this makes sense if an
allocator has shared data that's allocated in the initial constructor).
This time for a more limited range of values so that equal values turn
up more often. This is a bit shoddy, but seems like the best way to
improve the existing tests without too much effort.
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]
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]
https://svn.boost.org/svn/boost/branches/unordered/trunk
........
r43840 | danieljames | 2008-03-24 17:25:07 +0000 (Mon, 24 Mar 2008) | 1 line
Fix a g++ warning.
........
r43844 | danieljames | 2008-03-24 17:56:28 +0000 (Mon, 24 Mar 2008) | 1 line
It's a new-ish year.
........
r43885 | danieljames | 2008-03-27 20:36:10 +0000 (Thu, 27 Mar 2008) | 1 line
The release script doesn't need to copy images and css - because that's now done in the jamfiles. Also tweak the shell script a tad bit.
........
r43890 | danieljames | 2008-03-27 23:01:40 +0000 (Thu, 27 Mar 2008) | 1 line
Starting to add a docbook bibliography.
........
r43894 | danieljames | 2008-03-27 23:24:18 +0000 (Thu, 27 Mar 2008) | 1 line
Redeclare 'data' in iterator_base to help compilers which have trouble with accessing the nested typedef.
........
[SVN r43895]
https://svn.boost.org/svn/boost/branches/unordered/trunk
................
r42887 | danieljames | 2008-01-20 21:32:04 +0000 (Sun, 20 Jan 2008) | 10 lines
Merged revisions 42590-42664,42667-42697,42699-42723,42725-42855,42857-42881 via svnmerge from
https://svn.boost.org/svn/boost/trunk
........
r42881 | danieljames | 2008-01-20 17:37:21 +0000 (Sun, 20 Jan 2008) | 1 line
Include <new> to get std::bad_alloc.
........
................
r42892 | danieljames | 2008-01-21 13:03:16 +0000 (Mon, 21 Jan 2008) | 1 line
On some compilers the Rogue Wave/Apache stdcxx library doesn't have the normal std::distance, but instead has a variant that takes the result as the third parameter so it doesn't have to work out the type from the iterator.
................
r42893 | danieljames | 2008-01-21 13:07:58 +0000 (Mon, 21 Jan 2008) | 1 line
Fix a typo in the last commit.
................
r42895 | danieljames | 2008-01-21 13:33:29 +0000 (Mon, 21 Jan 2008) | 1 line
Remove tabs from the last checkin.
................
r42896 | danieljames | 2008-01-21 15:51:40 +0000 (Mon, 21 Jan 2008) | 1 line
Use Boost config to tell when we have a std::distance function. Also, no need for a macro.
................
r42908 | danieljames | 2008-01-21 21:37:04 +0000 (Mon, 21 Jan 2008) | 1 line
Use boost::long_long_type and boost::ulong_long_type.
................
r42921 | danieljames | 2008-01-23 11:43:35 +0000 (Wed, 23 Jan 2008) | 1 line
Remove some tabs.
................
r42922 | danieljames | 2008-01-23 11:46:28 +0000 (Wed, 23 Jan 2008) | 2 lines
Add missing include. Refs #1596
................
r42923 | danieljames | 2008-01-23 11:52:47 +0000 (Wed, 23 Jan 2008) | 2 lines
Always use void const* for the second parameter of allocate. Refs #1596.
................
r42936 | danieljames | 2008-01-23 22:22:16 +0000 (Wed, 23 Jan 2008) | 1 line
Use Boost style library name in the documentation.
................
r42937 | danieljames | 2008-01-23 22:22:32 +0000 (Wed, 23 Jan 2008) | 1 line
More tabs.
................
r42941 | danieljames | 2008-01-23 23:35:01 +0000 (Wed, 23 Jan 2008) | 1 line
Fix all the allocators.
................
[SVN r42943]
https://svn.boost.org/svn/boost/branches/unordered/trunk
........
r42880 | danieljames | 2008-01-20 16:10:43 +0000 (Sun, 20 Jan 2008) | 17 lines
Simplify the tests a little:
Add a parameter to random_values to control what sort of values it generates.
This means that instead of using equivalent_object to test collisions (which
was a total hack) we now just need another parameter.
This requires some meta programming to act differently for maps and sets.
Because of this pairs no longer need to be generated so remove the code for
doing that (which doesn't work on some compilers).
Remove the generator object, just call generate directly.
Remove some of the tests using int containers, they didn't really add to
anthing other than the compile time (some tests are timing out).
........
[SVN r42882]
working on more compilers. The biggest change is that the exception tests have
been changed to use a very simple exception testing mechanism on top of
lightweight_test. This was because Boost.Test exception testing isn't working
on several platforms. I'm trying to set this up so that I can use Boost.Test on
compilers which it completely supports, and lightweight test on others.
Boost.Test tests more than my simple exception testing code ever will so it's
worth using where I can.
[SVN r42698]
Make simple_test test a little more.
Use doubles for calculating max load factor.
Some workarounds, mostly for Borland and running the tests.
[SVN r42666]
Copyright update.
Switch back to the version where the sentinel points to itself.
Remove alternative versions of swap.
Workaround a borland bug or two.
More consistent use of class/swap/template.
Avoid a few warnings.
Add a no-throw swap to the allocator for exception testing.
[SVN r3793]