Daniel James
bd13f2b1ad
Unordered: Fix some calls to std::forward.
...
[SVN r74074]
2011-08-26 15:28:56 +00:00
Daniel James
3f4d031c43
Unordered: Remove extra ';'.
...
[SVN r74072]
2011-08-26 15:24:16 +00:00
Daniel James
674b39243f
Unordered: More robust construct_impl.
...
[SVN r74068]
2011-08-26 08:12:08 +00:00
Daniel James
099a893678
Unordered: More portable allocator_traits.
...
[SVN r74067]
2011-08-26 08:11:46 +00:00
Daniel James
e295541dae
Unordered: Try to make VC++ 8 happy.
...
[SVN r73973]
2011-08-20 23:34:59 +00:00
Daniel James
785a6def3b
Unordered: Remove another use of BOOST_RV_REF for sun.
...
[SVN r73972]
2011-08-20 23:34:38 +00:00
Daniel James
2ecfa0e08c
Unordered: Fix unnecessary_copy_tests failures.
...
[SVN r73894]
2011-08-18 19:29:02 +00:00
Daniel James
c001139465
Unordered: detab
...
[SVN r73893]
2011-08-18 19:28:41 +00:00
Daniel James
e3353a445a
Unordered: Fix some test failures.
...
[SVN r73856]
2011-08-17 21:29:41 +00:00
Daniel James
ce779452ba
Unordered: Fix gcc error + warning.
...
[SVN r73839]
2011-08-17 07:43:43 +00:00
Daniel James
08bca9a35f
Unordered: Support moving allocators.
...
[SVN r73805]
2011-08-15 21:34:01 +00:00
Daniel James
1db630d5c9
Unordered: Enable the better select_on_container_copy_construction detection for recent Visual C++.
...
[SVN r73799]
2011-08-15 20:24:12 +00:00
Daniel James
f64cf03e1d
Unordered: Implement select_on_container_copy_construction support.
...
[SVN r73772]
2011-08-15 07:48:53 +00:00
Daniel James
559122f67a
Unordered: Small improvements for windows.
...
[SVN r73760]
2011-08-14 21:03:18 +00:00
Daniel James
431f2abfee
Unordered: Alternative member detection.
...
Hopefully the Sun compiler will like this.
[SVN r73757]
2011-08-14 18:53:50 +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
f030480e44
Unordered: detab.
...
[SVN r73753]
2011-08-14 18:52:20 +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
7438d7a02f
Unordered: Move around assignment stuff.
...
[SVN r73681]
2011-08-11 21:19:05 +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
3d5314b5f5
Unordered: Don't use BOOST_RV_REF with Sun compilers.
...
[SVN r73593]
2011-08-07 10:22:41 +00:00
Daniel James
f0517463a5
Unordered: Better std::forward/move configuration.
...
[SVN r73592]
2011-08-07 08:55:28 +00:00
Daniel James
d86a4b0c2f
Unordered: Use Boost.Move for emplace and insert.
...
[SVN r73520]
2011-08-03 23:52:37 +00:00
Daniel James
eced4266c2
Unordered: Copy and assign using Boost.Move.
...
[SVN r73503]
2011-08-03 08:34:33 +00:00
Daniel James
b4e1d32e85
Unordered: detab.
...
[SVN r72906]
2011-07-04 21:55:40 +00:00
Daniel James
ff66f79721
Unordered: Import functions into boost namespace.
...
[SVN r72905]
2011-07-04 21:52:17 +00:00
Daniel James
8b610a6d34
Unordered: Work around for compilers which don't support template friend members.
...
[SVN r72523]
2011-06-09 19:48:34 +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
a40422fada
Unordered: remove use of the 'or' keyword.
...
[SVN r71602]
2011-04-29 11:03:29 +00:00
Daniel James
b1912055a9
Unordered: Fix some errors in the equality tests.
...
[SVN r71363]
2011-04-17 21:27:38 +00:00
Daniel James
e8714d79b2
Unordered: Implement C++0x equality.
...
[SVN r71354]
2011-04-17 16:23:25 +00:00
Daniel James
f8e2a917f9
Unordered: 2 phase lookup fix for clang.
...
[SVN r71352]
2011-04-17 14:27:08 +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
a33949a0a5
Add copy constructors and assignment operators when using rvalue references. Refs #5119 .
...
[SVN r68445]
2011-01-25 20:13:43 +00:00
Daniel James
b9188caf7d
Fix [66556] - Remove clang workaround.
...
I accidentaly removed the good code and left the workaround in. Also, a
correction to the comment: I think bug was only in a unreleased version
of clang.
[SVN r66567]
2010-11-14 11:43:49 +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
2c1a8894cb
Remove clang workaround.
...
Clang from llvm 2.8 doesn't need it. Clang form llvm 2.7 isn't
supported.
[SVN r66556]
2010-11-13 12:30:45 +00:00
Daniel James
a49c76c69c
More comments describing the unordered internals.
...
And fix a couple of small mistakes in the existing comments.
[SVN r66555]
2010-11-13 12:30:06 +00:00
Daniel James
77bd36d038
Declare inline functions as inline.
...
[SVN r66193]
2010-10-25 21:59:52 +00:00
Daniel James
daad24388c
Fix iterator insert bug in unordered_set/unordered_map.
...
[SVN r66136]
2010-10-21 20:23:37 +00:00
Daniel James
5edc45349f
Revert changes for sun 5.9.
...
Nobody seems to be running the tests now.
[SVN r62117]
2010-05-21 07:06:33 +00:00
Daniel James
dfaa61b666
Another inline.
...
[SVN r61872]
2010-05-09 07:24:47 +00:00
Daniel James
076e195cac
Define several methods inline.
...
Sun 5.9 was having some issues.
[SVN r61831]
2010-05-06 20:13:25 +00:00
Daniel James
71a8e56ae3
Move equivalent and unique hash tables into their own headers.
...
[SVN r61830]
2010-05-06 20:12:40 +00:00
Daniel James
ef79fea0b7
The clang workaround broke some compilers, so only use it for clang.
...
[SVN r61529]
2010-04-24 12:59:35 +00:00