Daniel James
1eac47a275
Unordered: Use Boost.Move in a few more places.
...
Should be better for compilers with variadic parameters, but no rvalue
references. If such a thing ever exists.
[SVN r78536]
2012-05-21 22:15:33 +00:00
Daniel James
c6f0175c79
Unordered: Combine emplace_args + allocator_helpers.
...
[SVN r78535]
2012-05-21 22:14:59 +00:00
Daniel James
275b03e76b
Unordered: Avoid -Wshadow
warnings. Refs #6190 .
...
[SVN r78364]
2012-05-07 10:57:35 +00:00
Daniel James
995ef1efdb
Unordered: Use std::allocator_trait's variadic construct.
...
[SVN r78349]
2012-05-06 12:29:24 +00:00
Daniel James
626bb48013
Unordered: Use iterators in more of the implementation methods.
...
[SVN r77834]
2012-04-08 15:30:14 +00:00
Daniel James
4e759b4444
Unordered: Call policy functions as static functions.
...
[SVN r77831]
2012-04-08 15:28:26 +00:00
Daniel James
2fed2fbd9e
Unordered: Hashing policy for 64 bit computers.
...
[SVN r77066]
2012-02-18 15:47:59 +00:00
Daniel James
f304e56818
Unordered: Stop using void_pointer.
...
Was breaking for allocators that don't have good enough support for
void_pointer. Which I suspect is pretty common.
[SVN r74800]
2011-10-08 12:17:27 +00:00
Daniel James
f1b78931d1
Unordered: More misc. cleanup.
...
Including removing node.hpp.
[SVN r74775]
2011-10-07 08:19:53 +00:00
Daniel James
3a909c8747
Unordered: Better emplace_args implementation.
...
And some misc. cleanup.
[SVN r74750]
2011-10-06 08:03:25 +00:00
Daniel James
dac1dc5837
Unordered: Reorganization to use void pointers and other things.
...
Helps allocators which can't use incomplete pointers, and avoid using
base pointers where that might not be possible. And some other
reorganization. Storing arguments to emplace in a structure when
variadic template parameters aren't available. Changed some of the odd
design for working with older compilers.
[SVN r74742]
2011-10-05 19:45:14 +00:00
Daniel James
a3ffd4a7c9
Unordered: Remove BOOST_DEDUCED_TYPENAME
...
[SVN r74192]
2011-09-02 08:28:19 +00:00
Daniel James
1154b5729a
Unordered: Deprecate variadic pair construction emulation.
...
[SVN r74181]
2011-08-31 22:57:57 +00:00
Daniel James
ceef4d6521
Unordered: Explicitly pick construct_impl overloads.
...
Still getting ambiguous call errors for some older compilers, so use SFINAE to
only enable a single overload for each arity.
[SVN r74171]
2011-08-30 22:01:54 +00:00
Daniel James
395c744d6f
Unordered: More portability changes.
...
[SVN r74122]
2011-08-29 11:10:09 +00:00
Daniel James
155077cba0
Unordered: Support piecewise pair construction.
...
Will need to deprecate the old variadic style pair construction, also
should look into extract_key, was written for compatibility with older
compilers that are no longer supported.
[SVN r74119]
2011-08-29 09:40:41 +00:00
Daniel James
9ae19a64d7
Unordered: Fix more calls to std::forward.
...
[SVN r74086]
2011-08-27 11:29:04 +00:00
Daniel James
bd13f2b1ad
Unordered: Fix some calls to std::forward.
...
[SVN r74074]
2011-08-26 15:28:56 +00:00
Daniel James
674b39243f
Unordered: More robust construct_impl.
...
[SVN r74068]
2011-08-26 08:12:08 +00:00
Daniel James
c001139465
Unordered: detab
...
[SVN r73893]
2011-08-18 19:28:41 +00:00
Daniel James
08bca9a35f
Unordered: Support moving allocators.
...
[SVN r73805]
2011-08-15 21:34:01 +00:00
Daniel James
5f622027cd
Unordered: Implement allocator propagation on assignment.
...
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]
2011-08-14 18:53:29 +00:00
Daniel James
fa97494cc8
Unordered: Move some of the unordered implementation.
...
[SVN r73755]
2011-08-14 18:53:03 +00:00
Daniel James
435c21c155
Unordered: Qualify calls to addressof.
...
Hopefully this will fix C++0x compilers. Although I don't have one at
hand to test.
[SVN r73690]
2011-08-12 06:26:25 +00:00
Daniel James
0e5930b8dc
Unordred: Implement propagate_on_container_swap.
...
[SVN r73680]
2011-08-11 21:18:43 +00:00
Daniel James
eacca89d4e
Unordered: Starting to implement allocator propagation.
...
[SVN r73679]
2011-08-11 21:18:19 +00:00
Daniel James
99e6bef4ef
Unordered: Starting to support allocator_traits.
...
[SVN r73678]
2011-08-11 21:17:57 +00:00
Daniel James
f0517463a5
Unordered: Better std::forward/move configuration.
...
[SVN r73592]
2011-08-07 08:55:28 +00:00
Daniel James
eced4266c2
Unordered: Copy and assign using Boost.Move.
...
[SVN r73503]
2011-08-03 08:34:33 +00:00
Daniel James
20e923ba0d
Unordered: Move the implementation into a namespace.
...
Although it typically won't prevent ADL, because of boost::hash.
[SVN r72391]
2011-06-04 16:17:07 +00:00
Daniel James
4777eaf367
Unordered: remove some dead, bad code.
...
[SVN r72390]
2011-06-04 16:15:27 +00:00
Daniel James
140e8852e8
Unordered: fix some gcc issues.
...
[SVN r71346]
2011-04-17 00:31:35 +00:00
Daniel James
547e141166
Unordered: Overhaul the implementation.
...
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]
2011-04-16 18:47:33 +00:00
Daniel James
14e0e1afc2
Less use of the ampersand operator in unordered.
...
[SVN r66557]
2010-11-13 12:31:54 +00:00
Daniel James
2f0a94bcfd
Add missing std:: qualifier to ptrdiff_t. Refs #3773 .
...
[SVN r58402]
2009-12-15 22:42:04 +00:00
Daniel James
060acb3f25
Slightly rearrange the unordered container headers so that prev_prime is defined before it's used.
...
[SVN r57152]
2009-10-25 10:55:08 +00:00
Daniel James
854dc0b353
Various inspect fixes.
...
[SVN r56603]
2009-10-05 21:29:39 +00:00
Daniel James
373791d0b2
Detab.
...
[SVN r56571]
2009-10-04 10:37:56 +00:00
Daniel James
fe3d612fe0
Clean up some unordered TODOs.
...
[SVN r56570]
2009-10-04 10:37:36 +00:00
Daniel James
965c2ae89c
Slightly more consistent variable names. In detail 'n' is now always a node pointer.
...
[SVN r56346]
2009-09-21 21:17:19 +00:00
Daniel James
78b078f41d
Since all the compilers support out of line template members use them
...
and lots of other things.
[SVN r56329]
2009-09-20 21:55:15 +00:00
Daniel James
491fa330f6
Move size_ and cached_begin_bucket_ into table, rename hash_table_manager hash_buckets.
...
[SVN r56010]
2009-09-04 07:03:04 +00:00