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 -- What do you get if you drop a piano down a mineshaft? A flat minor.