
JOAQUIN LOPEZ MU?Z wrote:
You've been fast! I've taken a look at your stuff and have a couple of concerns/suggestions:
Not that fast, most of the implementation is just copied out of Peter's specs. By the way, don't put much trust into the hashes for floats yet. I should have mentioned that before. I'll write more tests for them before you release anything properly.
1. Now the file is boost/hash/functional.hpp. Wouldn't it be better to call it boost/functional/hash.hpp? As I see it, hash<> is part of TR1 future <functional>, so the naming I propose looks more consistent.
Yeah, I'll do that. Although, until it's formally a part of boost, I thought you'd just be putting it into a detail directory.
2. The header includes <set> and <map>, which can be quite heavy if the user has no intention to use the corresponding hash_value overloads. Alas, I don't know of any way to avoid the inclusions, since a forward declaration of these containers can fail due to the freedom stdlib implementers have to add additional template parameters to those specified by the standard. Any idea?
The only thing I can think of is seperating the file into two different headers, something like boost/functional/hash.hpp and boost/functional/hash_containers.hpp. But that would be pretty awkward to use. Daniel