From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-03-21 10:48:19
I'm pleased to announce that Daniel James' hash-functions library
is accepted into boost. The review comments were generally positive,
a few bugs were fixed and in general we had a solid
discussion in favor of the current design.
Congratulations to James!
I would like to thank all who partcipated:
Below is a list of issue that was resolved; let us have a discussion
about any of them if I have misunderstood something. Also, feel free
to mention something if it was forgotten by me.
Issues and solutions:
1. for those who don't want to include the whole std-lib, individual headers
can be put in hash/std/XX.hpp (but see 3)
2. update docs to reflect that ADL is used.
3. consider if the primary template should not take 1 range parameter and call
unordered containers can then be explicitly overloaded when they become
this would also have the great effect that subranges like
sub_range<string> "just works"
4. avoid too many zero hash values by defaulting to something other than 0
5. change implementation of hash values for pointers so undefined behavior is
gone (and consider adding x + (x >> 3) )
6. the design aim was predictibility and to minimize collision; for the latter
would like to know if similar values hash to similar buckets or not. If
objects end up in the same buskets, wouldn't equality be much faster
Should this be a concern?
7. the hash_ptr<> suggestion is better done with general indirected function
8. hash_range should be overloaded to take an initial seed
Thorsten, review manager
-- Thorsten Ottosen ---------------------------- www.dezide.com www.cs.aau.dk/index2.php?content=Research/bss www.boost.org www.open-std.org/JTC1/SC22/WG21/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk