Thread overview | |||||
---|---|---|---|---|---|
|
July 31, 2014 Get the default hash function. | ||||
---|---|---|---|---|
| ||||
Really simple question: how do I get the compiler-generated hash function for a given type? For example: Struct S { int i; } can be used in an associative array. That means the compiler generates a "toHash" function. Is there any simple way to call it directly? |
July 31, 2014 Re: Get the default hash function. | ||||
---|---|---|---|---|
| ||||
Posted in reply to francesco cattoglio | On Thursday, 31 July 2014 at 12:05:53 UTC, francesco cattoglio wrote: > Really simple question: > how do I get the compiler-generated hash function for a given type? > > For example: > Struct S > { > int i; > } > > can be used in an associative array. That means the compiler generates a "toHash" function. Is there any simple way to call it directly? I believe you may use typeid to get TypeInfo instance. It has getHash method - http://dlang.org/phobos/object.html#.TypeInfo |
July 31, 2014 Re: Get the default hash function. | ||||
---|---|---|---|---|
| ||||
Posted in reply to francesco cattoglio | On Thu, Jul 31, 2014 at 12:05:52PM +0000, francesco cattoglio via Digitalmars-d-learn wrote: > Really simple question: > how do I get the compiler-generated hash function for a given type? > > For example: > Struct S > { > int i; > } > > can be used in an associative array. That means the compiler generates a "toHash" function. Is there any simple way to call it directly? struct S { int i; } void main() { auto s = S(123); import std.stdio; writeln(typeid(s).getHash(&s)); } T -- "Maybe" is a strange word. When mom or dad says it it means "yes", but when my big brothers say it it means "no"! -- PJ jr. |
Copyright © 1999-2021 by the D Language Foundation