proper way to calculate toHash() for string
aki via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Jun 30 07:19:37 PDT 2015
I would like to know proper way to calculate
hash for given member fields.
class Foo {
int value;
string str;
override nothrow @safe size_t toHash() {
// calculate hash based on field value.
// value and str in this example.
}
}
boost::hash provides easy and systematic way
to calculate hash.
I found std.digest.crc is useful.
override nothrow @safe size_t toHash() {
if (str is null) return value;
ubyte[4] hash = crc32Of(str);
return value^((hash[0]<<24)|(hash[1]<<16)|(hash[2]<<8)|hash[3]);
}
Please suggest me if anyone have an idea.
Regards, aki.
More information about the Digitalmars-d-learn
mailing list