Commit Graph

108 Commits

Author SHA1 Message Date
Daniel James
5e3393790d Add the contents of compile_tests.cpp to set_compile.cpp and map_compile.cpp
[SVN r42533]
2008-01-06 17:13:15 +00:00
Daniel James
cc1248f2ab Give the unordered exception test suite its own name.
[SVN r42532]
2008-01-06 16:59:49 +00:00
Daniel James
5d83bad7a3 Combine the 'container' and 'unordered' tests.
[SVN r42531]
2008-01-06 16:59:18 +00:00
Daniel James
e91f6d467b Merged revisions 41808-41821,41823-41927,41934-41942,41944-41950,41952-41993,41998-42091,42094-42095,42104-42105,42107,42109,42111-42152,42154,42160-42171,42173-42180,42183-42196,42198-42402 via svnmerge from
https://svn.boost.org/svn/boost/branches/unordered/dev

........
  r41993 | danieljames | 2007-12-13 00:23:27 +0000 (Thu, 13 Dec 2007) | 3 lines
  
  Add the hash documentation to the unordered library so that it'll be easier to
  link between the libraries.
........
  r42104 | danieljames | 2007-12-16 13:36:50 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Don't include any hash source in tarballs (although I'm including the documentation).
........
  r42198 | danieljames | 2007-12-20 10:49:10 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Restore the extra warnings in the unit tests.
........
  r42199 | danieljames | 2007-12-20 11:25:38 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Make a cast explicit in order to avoid a warning.
........
  r42203 | danieljames | 2007-12-20 15:54:31 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Use 'BOOST_UNORDERED' prefix for macros.
........
  r42209 | danieljames | 2007-12-20 19:41:17 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Initialise this branch (hopefully..)
........
  r42210 | danieljames | 2007-12-20 19:51:21 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Merge in changes.
........
  r42215 | danieljames | 2007-12-20 21:15:42 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Don't add size_type to pointers, cast to difference_type.
........
  r42216 | danieljames | 2007-12-20 21:17:38 +0000 (Thu, 20 Dec 2007) | 1 line
  
  I messed up the last commit, this fixes it.
........
  r42218 | danieljames | 2007-12-20 21:22:20 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Get rid of last_in_group.
........
  r42219 | danieljames | 2007-12-20 21:27:46 +0000 (Thu, 20 Dec 2007) | 1 line
  
  Use node_count to implement group_count.
........
  r42231 | danieljames | 2007-12-21 12:04:52 +0000 (Fri, 21 Dec 2007) | 1 line
  
  Some minor changes for Visual C++.
........
  r42233 | danieljames | 2007-12-21 19:41:27 +0000 (Fri, 21 Dec 2007) | 1 line
  
  Inline some more methods.
........
  r42335 | danieljames | 2007-12-29 13:14:45 +0000 (Sat, 29 Dec 2007) | 3 lines
  
  Some of the changes to the introduction mention in the review. Hopefully this
  will make it a little clearer.
........
  r42336 | danieljames | 2007-12-29 13:16:55 +0000 (Sat, 29 Dec 2007) | 3 lines
  
  Try to make the buckets explanation a little easier to read. Most of the
  changes were based on Jamie Allsop (same for the last commit).
........
  r42339 | danieljames | 2007-12-29 16:00:32 +0000 (Sat, 29 Dec 2007) | 1 line
  
  Specify the namespace for 'std::out_of_range' in the reference documentation.
........
  r42345 | danieljames | 2007-12-29 20:41:10 +0000 (Sat, 29 Dec 2007) | 8 lines
  
  Rewrite much of the 'controlling the number of buckets' section.
  
  I'm trying to make it clearer. It's a bit tricky as the standard doesn't guarantee much.
  Instead of diving straight into the details I have tried to give the reader a rough
  idea of what 'rehash' does and what the load factor is. This is hopefully enough to
  understand the more detailled discussion of how you can control the number of buckets.
  Then finally I discuss iterator invalidation.
........
  r42346 | danieljames | 2007-12-29 20:52:22 +0000 (Sat, 29 Dec 2007) | 1 line
  
  Move the table summarizing methods for controlling bucket size next to the discussion of these methods. The paragraphs about insert and invalidating iterator moves on to something else.
........
  r42348 | danieljames | 2007-12-29 20:55:30 +0000 (Sat, 29 Dec 2007) | 1 line
  
  Fix the badly marked up bullet points.
........
  r42349 | danieljames | 2007-12-29 20:57:53 +0000 (Sat, 29 Dec 2007) | 2 lines
  
  We now have cbegin and cend for local iterators.
........



[SVN r42403]
2008-01-01 20:21:04 +00:00
Daniel James
53242796a3 Merge: When allocators aren't equal use a slow swap.
[SVN r42191]
2007-12-19 23:33:30 +00:00
Daniel James
ae23b79065 Merge in some minor changes.
Merged revisions 42157-42182 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/dev

........
  r42157 | danieljames | 2007-12-18 23:26:06 +0000 (Tue, 18 Dec 2007) | 1 line
  
  Tweak the function specifiers a tad bit.
........
  r42158 | danieljames | 2007-12-18 23:30:52 +0000 (Tue, 18 Dec 2007) | 1 line
  
  No need to create a node_constructor for every iteration.
........
  r42159 | danieljames | 2007-12-18 23:50:29 +0000 (Tue, 18 Dec 2007) | 1 line
  
  Pull another node_constructor out of a loop.
........
  r42172 | danieljames | 2007-12-19 17:51:41 +0000 (Wed, 19 Dec 2007) | 1 line
  
  Remove unrequired include.
........
  r42181 | danieljames | 2007-12-19 22:37:34 +0000 (Wed, 19 Dec 2007) | 2 lines
  
  Move the unordered library into 'branches' now that it has been accepted.
........
  r42182 | danieljames | 2007-12-19 22:39:54 +0000 (Wed, 19 Dec 2007) | 4 lines
  
  Actually, there are some things in the unordered code that aren't ready for
  trunk, so I'll rename the branch and create another one to be added to trunk
  later.
........



[SVN r42190]
2007-12-19 23:28:19 +00:00
Daniel James
a68da27339 Merge: Support for cbegin(n), cend(n).
[SVN r42188]
2007-12-19 23:13:20 +00:00
Daniel James
3b4acc6342 Merged revisions 41822-41992,41994-42101 via svnmerge from
https://svn.boost.org/svn/boost/branches/unordered/dev

........
  r41822 | danieljames | 2007-12-07 12:51:54 +0000 (Fri, 07 Dec 2007) | 5 lines
  
  Change the macros to meet boost guidelines.
  
  I should really have done this before the review. At least it'll give them
  something to say.
........
  r41928 | danieljames | 2007-12-09 19:23:27 +0000 (Sun, 09 Dec 2007) | 1 line
  
  Add some parameters to standalone documentation build.
........
  r41929 | danieljames | 2007-12-09 19:24:07 +0000 (Sun, 09 Dec 2007) | 1 line
  
  An extra rehash test for inserting a range.
........
  r41930 | danieljames | 2007-12-09 19:24:52 +0000 (Sun, 09 Dec 2007) | 1 line
  
  get_for_erase can be static because all the required information is in the iterator.
........
  r41931 | danieljames | 2007-12-09 19:31:00 +0000 (Sun, 09 Dec 2007) | 1 line
  
  ADL doesn't seem to be working properly on Visual C++ 7.1 when calling swap, so workaround this in the compile tests.
........
  r41932 | danieljames | 2007-12-09 19:44:46 +0000 (Sun, 09 Dec 2007) | 1 line
  
  Try to make the erase exception requirements a little clearer.
........
  r41933 | danieljames | 2007-12-09 19:52:50 +0000 (Sun, 09 Dec 2007) | 1 line
  
  Hopefully clearer comparison of accessors for comparison/hash function objects.
........
  r41943 | danieljames | 2007-12-10 00:03:53 +0000 (Mon, 10 Dec 2007) | 1 line
  
  Fix a typo.
........
  r41951 | danieljames | 2007-12-10 11:08:02 +0000 (Mon, 10 Dec 2007) | 1 line
  
  Use the locale in the case insensitive comparison, I really should add a test for this.
........
  r41994 | danieljames | 2007-12-13 00:26:05 +0000 (Thu, 13 Dec 2007) | 3 lines
  
  Hervé Brönnimann's improved explanation of the formula for avoiding
  invalidating iterators.
........
  r41995 | danieljames | 2007-12-13 00:30:46 +0000 (Thu, 13 Dec 2007) | 4 lines
  
  Explicity use the classic locale in the case insensitive example. I could make
  the locale a member, but that would make the example longer. Also, this would be
  a good place to put a note about the need for constant function objects.
........
  r41996 | danieljames | 2007-12-13 00:31:55 +0000 (Thu, 13 Dec 2007) | 1 line
  
  Pull the point examples out into test files - fixing a few bugs in the process.
........
  r41997 | danieljames | 2007-12-13 00:41:30 +0000 (Thu, 13 Dec 2007) | 3 lines
  
  A few reference links for boost::hash, it might be better to link to the
  first page of the Boost.Hash documentation though.
........
  r42092 | danieljames | 2007-12-16 10:07:27 +0000 (Sun, 16 Dec 2007) | 2 lines
  
  Fix some typos, and use American spelling.
........
  r42093 | danieljames | 2007-12-16 10:11:00 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Small documentation tweak.
........
  r42096 | danieljames | 2007-12-16 10:17:03 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Fix some reference documentation errors.
........
  r42097 | danieljames | 2007-12-16 10:28:08 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Document the explicit constructors.
........
  r42098 | danieljames | 2007-12-16 10:47:13 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Try to make the active issues and proposals a little clearer - including more obvious links to the relevant papers.
........
  r42099 | danieljames | 2007-12-16 10:52:30 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Fix some complexity errors in the comparison table.
........
  r42100 | danieljames | 2007-12-16 10:59:45 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Use Mapped instead of T in the documentation.
........
  r42101 | danieljames | 2007-12-16 11:06:16 +0000 (Sun, 16 Dec 2007) | 1 line
  
  Remove hard-coded length of prime numbers.
........



[SVN r42187]
2007-12-19 23:09:09 +00:00
Daniel James
56f91ea407 Use pre-review copy of unordered for trunk.
[SVN r42183]
2007-12-19 22:42:12 +00:00
Daniel James
793a308389 Remove unrequired include.
[SVN r42172]
2007-12-19 17:51:41 +00:00
Daniel James
3002a898a0 If the containers have equality comparisons, they'll also need 'hash_value'. Untested and undocumented, as before.
[SVN r42108]
2007-12-16 18:20:25 +00:00
Daniel James
c918da0249 operator== work in progress, undocumented and untested.
[SVN r42106]
2007-12-16 17:48:25 +00:00
Daniel James
1bb2dc4883 Support for cbegin(n), cend(n).
[SVN r42103]
2007-12-16 13:32:04 +00:00
Daniel James
0ce212b5aa When allocators aren't equal, use a slow swap.
[SVN r42102]
2007-12-16 13:17:44 +00:00
Daniel James
e748c34dfd ADL doesn't seem to be working properly on Visual C++ 7.1 when calling swap, so workaround this in the compile tests.
[SVN r41931]
2007-12-09 19:31:00 +00:00
Daniel James
ec7e2a6c8a An extra rehash test for inserting a range.
[SVN r41929]
2007-12-09 19:24:07 +00:00
Daniel James
feded72da6 Add the missing 'at_tests.cpp'. It's a bit rubbish, but most of the
implementation details are tested elsewhere.


[SVN r41807]
2007-12-06 21:37:22 +00:00
Daniel James
73bc8b397c Remove extra warning flags - if tested against boost 1.34 they result in far too
many warnings (mostly due to Boost.Hash). Against trunk there are currently
no warnings.


[SVN r41785]
2007-12-06 12:19:03 +00:00
Daniel James
044bbc437c Give an implementation function a clearer name.
[SVN r41784]
2007-12-06 11:54:28 +00:00
Daniel James
6e8f9e1c67 Seed the random number generator in tests.
[SVN r41782]
2007-12-06 11:42:28 +00:00
Daniel James
c013d15c16 Remove some minor TODOs. These were more notes to myself than anything.
[SVN r41779]
2007-12-06 11:40:11 +00:00
Daniel James
f0c62d3f0f Test, implement and document 'at'.
[SVN r41125]
2007-11-16 00:31:12 +00:00
Daniel James
a42f9ba834 Remove an old commented out line.
[SVN r41058]
2007-11-13 11:56:58 +00:00
Daniel James
da30fb101a Remove some unused variables.
[SVN r40722]
2007-11-03 16:45:49 +00:00
Daniel James
50c629dcb0 Change insert/erase as specified in n2369, the implementation and tests.
I accidently only checked in the documentation from these changes in the
last check in. This contains the rest of it.


[SVN r39950]
2007-10-11 23:49:31 +00:00
Daniel James
36f4508019 Run most of the unordered container tests (not the exception tests) on warning
level 4 on Visual C++.


[SVN r38648]
2007-08-14 09:55:30 +00:00
Daniel James
6eaf45a0b0 Add the -Wsign-promo flag to the unordered tests on gcc.
[SVN r38566]
2007-08-10 12:01:11 +00:00
Daniel James
f11b2272e4 Change a comment.
[SVN r7459]
2007-07-17 23:19:33 +00:00
Daniel James
aabf1a408b Improve the unordered tests support for some older compilers.
Better testing of elements with equivalent keys.


[SVN r7458]
2007-07-17 23:17:21 +00:00
Daniel James
6af2b965bb Use a portable hash_value in insert_stable_tests in order to support compilers
without ADL.


[SVN r7384]
2007-07-07 09:42:56 +00:00
Daniel James
e4b6b89ed2 Get malloc_allocator working with Visual C++ 6 STL.
[SVN r7383]
2007-07-07 09:39:31 +00:00
Daniel James
10a05bda05 Move malloc_allocator into its own header so that the normal tests don't have
to depend on the exception testing code.


[SVN r7332]
2007-07-01 11:54:22 +00:00
Daniel James
c08cfa18c4 Avoid memory leak error for std::set on g++-3.3
[SVN r7331]
2007-07-01 11:16:57 +00:00
Daniel James
c5b86a0ff8 Remove a couple of pointless comparisons.
[SVN r4257]
2007-05-26 00:00:54 +00:00
Daniel James
ef2f5116dd It is currently proposed that insert, erase and rehash should be stable. Change insert(hint, value) so that it inserts at the end of a group of
equivalent keys (all the other functions were already stable).


[SVN r4146]
2007-05-20 17:37:27 +00:00
Daniel James
e73b90fa86 ** empty log message **
[SVN r4139]
2007-05-19 20:04:14 +00:00
Daniel James
ec240d22ed Stop using Boost.Random as it doesn't support all the platforms I do. The new
code (using std::rand) needs work, but I want to get this in before the sandbox
is converted to subversion.


[SVN r3993]
2007-05-01 21:24:48 +00:00
Daniel James
3e532104d2 Rename some pointer classes to avoid shadowing them in the test allocator.
[SVN r3992]
2007-05-01 21:22:01 +00:00
Daniel James
df1e1598a5 Import latest changes to the unordered containers. Includes:
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]
2007-03-18 20:00:59 +00:00
Daniel James
f979c07d2e Check that exceptions thrown when swapping meet the exception requirements.
[SVN r3620]
2007-01-10 00:06:55 +00:00
Daniel James
8d8f9e1942 Add a test that unnecessary copies aren't made of objects inserted.
Make the exception tests track the allocator usage.
Speed up the exception tests a bit.


[SVN r3490]
2006-12-03 23:08:17 +00:00
Daniel James
ec310f7b80 Update the unordered tests. Several changes including extra erase tests. The newer version of the containers have a hairy erase implementation, so need to test all the special cases. Also, a few extra tests here and there, avoid a couple of warnings and remove some old TODOs.
[SVN r3341]
2006-10-31 22:19:26 +00:00
Daniel James
828dbe5078 Test inserting and constructing from input iterators.
Check thrown exception types properly.
Return by reference from 'get_key' so that the keys aren't copied.


[SVN r3115]
2006-08-06 20:42:45 +00:00
Daniel James
dd2ea72220 Update the copyright in the unordered container tests.
[SVN r3040]
2006-07-01 22:31:26 +00:00
Daniel James
f9907e4a55 Get unordered working on Visual C++ 6.5
[SVN r2992]
2006-06-18 13:24:38 +00:00
Daniel James
ff91c72eec Improved support for Visual C++.
[SVN r2985]
2006-06-12 23:30:46 +00:00
Daniel James
58dda15273 Improved support for testing on older versions of gcc.
Link tests.
Plus more...


[SVN r2980]
2006-06-11 19:42:55 +00:00
Daniel James
fbd37a946b More tests for unordered associative containers.
[SVN r2959]
2006-05-21 17:14:11 +00:00
Daniel James
1be8ab0d30 Add some tests for the unordered associative containers.
[SVN r2954]
2006-05-17 17:19:16 +00:00
Daniel James
1301d774e0 Add a small note about testing allocators.
[SVN r2953]
2006-05-17 17:15:26 +00:00