Daniel James
94ef1ac391
Unordered: Support empty containers in node_holder.
...
[SVN r80562]
2012-09-17 18:59:29 +00:00
Daniel James
53f278312f
Unordered: Get rid of get_start.
...
[SVN r80561]
2012-09-17 18:59:03 +00:00
Daniel James
549b93e629
Unordered: delete_buckets works when buckets_ is null.
...
[SVN r80560]
2012-09-17 18:58:28 +00:00
Daniel James
c2e7221bf9
Unordered: Set max_load_ to 0 when there are no buckets.
...
[SVN r80559]
2012-09-17 18:57:58 +00:00
Daniel James
37d58e84e3
Unordered: Fix creating extra node when resizing.
...
[SVN r80518]
2012-09-13 19:50:31 +00:00
Daniel James
ec6219fe13
Unordered: Fix incorrect assertion.
...
[SVN r80508]
2012-09-12 21:09:39 +00:00
Daniel James
e68f0c341e
Unordered: Fix object counts in tests.
...
[SVN r80417]
2012-09-06 08:49:43 +00:00
Daniel James
f47f0f8d16
Unordered: Fix some issues with the tests.
...
[SVN r80416]
2012-09-05 23:33:22 +00:00
Daniel James
ed369d6374
Unordered: Move MSVC warning suppression to correct location.
...
[SVN r80412]
2012-09-05 19:02:29 +00:00
Daniel James
b6b54610c6
Unordered: Repeat assign tests several times.
...
[SVN r80411]
2012-09-05 19:02:04 +00:00
Daniel James
1d03bbe213
Unordered: Re-initialise reused nodes.
...
[SVN r80410]
2012-09-05 19:01:17 +00:00
Daniel James
32ab636fe8
Unordered: delete/destroy/clear cleanup.
...
[SVN r80390]
2012-09-03 20:06:00 +00:00
Daniel James
8e5ffbbe6c
Unordered: Clean up swap.
...
[SVN r80389]
2012-09-03 20:05:39 +00:00
Daniel James
e7f495c094
Unordered: Cleaning up a bit.
...
[SVN r80388]
2012-09-03 20:05:15 +00:00
Daniel James
1e07edc1ad
Unordered: No need for value_allocator.
...
[SVN r80387]
2012-09-03 20:04:55 +00:00
Daniel James
2f09079d3f
Unordered: Remove the now unnecessary uses of ->.
...
[SVN r80386]
2012-09-03 20:04:35 +00:00
Daniel James
a1bdd82bd5
Unordered: Get rid of buckets.
...
[SVN r80385]
2012-09-03 20:04:15 +00:00
Daniel James
45b6340a98
Unordered: Avoid allocating nodes in table constructor.
...
[SVN r80384]
2012-09-03 20:03:55 +00:00
Daniel James
22e6daac6c
Unordered: Use node_holder for move.
...
[SVN r80383]
2012-09-03 20:03:35 +00:00
Daniel James
9ea735c975
Unordered: Move iterators to top of buckets.hpp
...
[SVN r80382]
2012-09-03 20:03:15 +00:00
Daniel James
31f3a10d33
Unordered: Tweak node_construct functions.
...
[SVN r80381]
2012-09-03 20:02:53 +00:00
Daniel James
d9f49f2b44
Unordered: Faster assign implementation
...
[SVN r80380]
2012-09-03 20:02:31 +00:00
Daniel James
73c269398a
Unordered: Generic copy/move implementation.
...
[SVN r80379]
2012-09-03 20:02:10 +00:00
Daniel James
7a4930f1a1
Unordered: Avoid unnecessary swapping in rehash and move.
...
[SVN r80378]
2012-09-03 20:01:50 +00:00
Daniel James
c0faf59a86
Unordered: De-template constructor for allocator2 from allocator.
...
Sun is failing one of the tests because it isn't using it implicitly.
[SVN r80276]
2012-08-28 08:04:51 +00:00
Daniel James
a822b27efc
Unordered: Weaken requirements in compile tests.
...
Assigning a container requires that its elements can be assignable. Could split
the tests up so that other tests aren't assignable, but it doesn't seem worth
the hassle.
[SVN r80228]
2012-08-25 21:56:16 +00:00
Daniel James
f1e716d897
Unordered: Stronger assign testing.
...
[SVN r80227]
2012-08-25 21:55:46 +00:00
Daniel James
612d68eecd
Unordered: More invariant testing.
...
In case there are elements in buckets that aren't in the element list. Required
because the data structure has changed since the original implementation.
[SVN r80226]
2012-08-25 21:55:18 +00:00
Daniel James
aefea862c2
Unordered: Two exception testing allocators.
...
For different C++11 properties.
[SVN r80225]
2012-08-25 21:54:50 +00:00
Daniel James
f8968ab022
Unordered: Better swap assertion.
...
[SVN r80224]
2012-08-25 21:54:18 +00:00
Daniel James
8f86c2464e
Unordered: Rename *_impl to *_value_impl.
...
To make it clear that they should only be used to construct and destroy
the value, and not nodes or buckets.
[SVN r80223]
2012-08-25 21:53:53 +00:00
Daniel James
cd57bf5000
Unordered: And use allocator traits to destroy values.
...
[SVN r80222]
2012-08-25 21:53:25 +00:00
Daniel James
a7125259d8
Unordered: When full construct is available, use it for value.
...
[SVN r80221]
2012-08-25 21:52:57 +00:00
Daniel James
3a163b5449
Unordered: Move some things around.
...
- Move `allocator_traits` before `construct_impl` so the
`construct_impl` can be changed to use `allocator_traits`.
- Moved some move utilities out of `allocate.hpp` because they're
really nothing to do with allocation and construction.
[SVN r80220]
2012-08-25 21:52:28 +00:00
Daniel James
ff31c73970
Unordered: Go back to the old method for constructing nodes.
...
Reverts much of [78349]. Keeps the variadic construct.
[SVN r80219]
2012-08-25 21:51:24 +00:00
Daniel James
2e11fd8a86
Unordered: Test number of copies and moves for moves on all compilers.
...
Mainly because I want to get more info on the odd test failure for Visual C++
11. I expect that with move emulation these results could vary considerably,
and since I've only tested with gcc and clang so far, it's quite likely that
this test will now fail for other compilers.
[SVN r80200]
2012-08-25 12:52:31 +00:00
Daniel James
09c546f63a
Unordered: Document more fine grained requirements.
...
[SVN r79879]
2012-08-05 18:26:02 +00:00
Daniel James
5be71a0e90
Unordered: Output stages in at_tests.
...
Getting a memory deallocation error from Sandia's linux c++11 clang. Add some
trace output to see if it gives a clue where it's going wrong.
[SVN r79793]
2012-07-29 07:18:35 +00:00
Daniel James
27f5496a65
Unordered: Fix some uses of rvalues refs/move.
...
[SVN r79792]
2012-07-29 07:17:57 +00:00
Daniel James
918b3da91d
Unordered: Use a SFINAE parameter rather than return type for C++03 compilers.
...
Seems that g++ 3.4 has problems with overloads that are only distinguished by
SFINAE return types.
[SVN r79762]
2012-07-26 22:23:09 +00:00
Daniel James
61516be1db
Unordered: Remove use of try..catch.
...
So that it'll work when exceptions are disabled.
[SVN r79679]
2012-07-22 20:14:20 +00:00
Daniel James
7c968fd38d
Unordered: Avoid an MSVC warning.
...
[SVN r79651]
2012-07-22 07:14:42 +00:00
Daniel James
4a066e4b18
Unordered: Fix unnecessary_copy_tests for MSVC10
...
Compilers with rvalue references can avoid creating a node, as they can use the
value from the rvalue reference to check if the value is already in the
container (in this case it is) before creating the node. Could possibly do the
same for compilers without rvalue references, if it can get a value out of
Boost.Move's rvalue reference emulation.
[SVN r79503]
2012-07-14 16:45:54 +00:00
Marshall Clow
0fccd93e29
Switch from deprecated macros to new shiny ones; no functionality change
...
[SVN r79396]
2012-07-09 22:08:01 +00:00
Daniel James
6932a2d571
Unordered: Fix using a C++03 allocator with C++11 compiler.
...
Because the nodes had an implicit constructor, the `has_construct` traits was
detecting that the nodes could be constructed by construction then copy, which
really wasn't wanted. Also add a check that nodes aren't been copy constructed
to make sure this doesn't happen again. Refs #7100 .
[SVN r79358]
2012-07-08 11:55:57 +00:00
Daniel James
f387994422
Unordered: Test with more allocators.
...
Causes some C++11 failures....
[SVN r79357]
2012-07-08 11:55:35 +00:00
Daniel James
958b1d468f
Unordered: Reduce the amount of meta-stuff in the tests.
...
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]
2012-07-08 11:55:10 +00:00
Daniel James
f5292fd9f7
Unordered: Simplify the object count stuff.
...
[SVN r79355]
2012-07-08 11:54:47 +00:00
Daniel James
ada08d9459
Unordered: Turn off warnings-as-errors.
...
Getting spurious failures for gcc 4.0 and 4.8. It's more hassle than it's
worth.
[SVN r79354]
2012-07-08 11:54:21 +00:00
Daniel James
9a284b4106
Unordered: Remove some junk from the end of memory.hpp
...
[SVN r79353]
2012-07-08 11:54:01 +00:00