Hi Erik, I think you just need to rework your operator< a little bit, and you'll be fine. struct Coords { bool operator<(const Coords other) const { Uint32 lhs = (Uint32(x) << 16) | Uint32(y); Uint32 rhs = (Uint32(other.x) << 16) | Uint32(other.y); return lhs < rhs; } int x : 16, y : 16; }; HTH. --Eljay