Daniel James
9cdf95ec53
Tweak the function specifiers a tad bit.
...
[SVN r42157]
2007-12-18 23:26:06 +00:00
Daniel James
f1d3797c32
Check that I'm using link_ptr & bucket_ptr correctly (they should be distinct
...
types with an explicit conversion from bucket_ptr to link_ptr).
[SVN r42156]
2007-12-18 23:14:49 +00:00
Daniel James
f43a74a93f
Add a helper function for creating null pointers.
...
[SVN r42155]
2007-12-18 22:58:12 +00:00
Daniel James
73dea3ed4d
Remove 'local_iterator_base'. It isn't really needed.
...
[SVN r42153]
2007-12-18 22:51:31 +00:00
Daniel James
c30bb968f4
Avoid a strict two-phase instatiation error.
...
[SVN r42110]
2007-12-16 19:09:39 +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
b542050fa0
Remove hard-coded length of prime numbers.
...
[SVN r42101]
2007-12-16 11:06:16 +00:00
Daniel James
0650002b4f
get_for_erase can be static because all the required information is in the iterator.
...
[SVN r41930]
2007-12-09 19:24:52 +00:00
Daniel James
a68ae4fafc
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.
[SVN r41822]
2007-12-07 12:51:54 +00:00
Daniel James
2d8a64d88f
Clean up the hash table implementation comments a little.
...
[SVN r41783]
2007-12-06 11:43:14 +00:00
Daniel James
f0c62d3f0f
Test, implement and document 'at'.
...
[SVN r41125]
2007-11-16 00:31:12 +00:00
Daniel James
1b200a6194
Update the unordered containers' documentation and notes for the most recent papers from the C++ working group - will probably have to do this again in a few weeks.
...
[SVN r39951]
2007-10-11 23:51:29 +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
58c7bb031c
Remove a couple of unused parameter names.
...
[SVN r39019]
2007-08-27 20:58:21 +00:00
Daniel James
3ebd8bc9f2
Remove an old macro definition that's no longer relevant.
...
[SVN r38607]
2007-08-12 09:06:26 +00:00
Daniel James
fe9e2728f6
Add missing 'this->' for a couple of template dependant function calls.
...
[SVN r4256]
2007-05-26 00:00:08 +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
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
8d31c94d9a
Fixed for intel strict mode.
...
[SVN r3736]
2007-02-25 21:09:38 +00:00
Daniel James
add94f8385
Remove some superfluous semi-colons from the unordered container
...
implementation.
[SVN r3619]
2007-01-10 00:04:00 +00:00
Daniel James
9e51e23cea
Remove some of the old doxygen stuff from the unordered container header files
...
as I'm not using doxygen.
[SVN r3618]
2007-01-10 00:03:26 +00:00
Daniel James
70797d159a
New version of the hash table implementation. Hopefully a little clearer with
...
less messing around with allocators and pointers.
[SVN r3491]
2006-12-03 23:11:18 +00:00
Daniel James
905a2dd28a
Simplify the hash table implementation somewhat and avoid an unnecessary copy
...
for maps.
[SVN r3339]
2006-10-31 22:11:25 +00:00
Daniel James
034b97fd23
Refactor and rearrange the unordered containers implementation to try and make
...
it a little more readable. And deal with all the TODOs.
[SVN r3114]
2006-08-06 20:36:29 +00:00
Daniel James
cb578defef
Update copyright.
...
[SVN r3043]
2006-07-01 22:34:48 +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
653a58f39b
Improve insert.
...
[SVN r2979]
2006-06-11 19:34:30 +00:00
Daniel James
822b0c7ffd
Remove use of compressed_pair for unordered containers.
...
Put a lower bound on the maximum load factor.
[SVN r2958]
2006-05-21 17:10:03 +00:00
Daniel James
9bd73e4ba7
New version of the unordered associative containers, with a more efficient data
...
structure for unordered_multimap/unordered_multiset that uses an extra
pointer per node but makes most operations more efficient when equivalent
nodes are present.
Now uses macros instead of template metaprogramming to implement the
differences between containers with equivalent and unique keys.
Removed the erase_iterator stuff which complicated matters more than it helped.
Now just using pointers with some helper functions.
[SVN r2950]
2006-05-07 13:24:17 +00:00
Daniel James
d3b8b2f38d
Fix a bug in allocator_constructor.
...
[SVN r2949]
2006-05-07 10:06:47 +00:00
Daniel James
13f2fbaf00
Update unordered container links to the new draft standard.
...
[SVN r2948]
2006-04-30 15:00:11 +00:00
Daniel James
0fcb2d8041
Add cbegin() and cend() from the new draft standard to the unordered containers.
...
The standard doesn't add them for local iterators, but I'm guessing that's an
oversight. So for now, I've hidden them behind a preprocessor condition. Which
I'll probably remove before review.
[SVN r2944]
2006-04-30 14:11:47 +00:00
Daniel James
ed6df529e4
Remove non-ascii copyright characters and the old filenames from the start of
...
the unordered container headers.
[SVN r2924]
2006-04-17 11:11:49 +00:00
Daniel James
1cbb7f6e57
Re-introduce the non const overloads of begin and end for unordered_set and
...
unordered_multiset. I thought the proposed resolution for issue 528 allowed
them to be removed, but re-reading it, it only allows signatures that are
'otherwise indistinguishable', and they are not.
[SVN r2923]
2006-04-17 11:06:08 +00:00
Daniel James
e8faab1268
Update the unordered containers' iterator overloads for the more recent versions of TR1.
...
[SVN r2921]
2006-04-17 08:45:32 +00:00
Daniel James
f43b6bb5d8
On compilers without ADL, qualify the call to swap.
...
[SVN r2895]
2006-03-20 20:00:55 +00:00
Daniel James
ee93aad35a
New version of the unordered containers. Includes workarounds for older
...
compilers. Also follows the exception requirements closer.
[SVN r2875]
2006-02-26 18:33:49 +00:00
Daniel James
4c3417468b
Fix a constructor for Visual C++ 6.
...
[SVN r2738]
2005-11-09 21:15:19 +00:00
Daniel James
431c5b76e5
Better results for max_size/max_bucket_count and some fixes for intel in strict
...
mode.
[SVN r2730]
2005-11-05 16:57:31 +00:00
Daniel James
78e843f3cb
Update the links in the unordered headers.
...
[SVN r2676]
2005-08-04 22:45:46 +00:00
Daniel James
f3b00bc938
Import my latest version of the unordered associative containers.
...
Several changes:
- Makes insert meet its exception specification (but needs some refactoring).
- Some Borland work arounds, but not all there yet, maybe never will be.
- Some extra doxygen comments, but not nearly enough.
- Possibly other things that I'm too lazy to look up.
[SVN r2642]
2005-06-20 21:55:28 +00:00
Daniel James
f6a60033e3
Check in unordered associative containers. I haven't looked at these for ages
...
but they pass my unit tests so they should be okay.
[SVN r2585]
2005-04-24 14:23:24 +00:00