Why D is annoying =P

Mehrdad wfunction at hotmail.com
Wed Oct 24 13:38:07 PDT 2012


On Wednesday, 24 October 2012 at 20:37:08 UTC, H. S. Teoh wrote:
> On Wed, Oct 24, 2012 at 10:16:27PM +0200, Mehrdad wrote:
> [...]
>> struct Set(T)
>> {
>> 	int[T] dict;
>> 	hash_t toHash() const
>> 	{
>> 		typeof(return) r = 0;
>> 		foreach (item; this.dict.keys)
>> 		{
>> 			???       // what should be here?
>> 		}
>> 		return r;
>> 	}
>> }
>
> Try this:
>
> 	hash_t toHash() const
> 	{
> 		hash_t h = 0;
> 		foreach (item; this.dict.keys)
> 		{
> 			// We use a commutative operation here (+) so
> 			// that the order of keys don't matter.
> 			h += hashOf(&item, item.sizeof);
> 		}
> 		return h;
> 	}
>
>
> T

Wouldn't that do a bitwise comparison?


More information about the Digitalmars-d mailing list