
On Thu, 18 Sep 2008 01:26:27 +0200, "Manuel Fiorelli" <manuel.fiorelli@gmail.com> said:
Since UUIDs are generally used to identify resources, it could be that someone wants to instantiate Boost.Unordered with UUID. I don't know exectly what are the requirements for the type parameter of Boost.Unorder, but I hope that most of them are yet met by UUID. Surely it is necessary to extend Boost.Hash, but according to < http://www.boost.org/doc/libs/1_36_0/doc/html/hash/custom.html> this can be done defining a free function without any explicit coupling with Boost.Unordered/Hash.
Summarizing the support for Boost.Hash/Unorded should be a zero-cost addition which should't cause the inclusion of no headers from those libraries.
Best regards, Manuel Fiorelli
I will add support for this (without including boost\functional\hash.hpp as follows (in namespace boost::uuids): std::size_t hash_value(uuid const& u) { size_t seed = 0; for(uuid::const_iterator i=u.begin(); i != u.end(); ++u) { seed ^= static_cast<size_t>(*i) + 0x9e3779b9 + (seed << 6) + (seed >> 2); } return seed; } Thanks, Andy Tompkins