rendered paste body//Mircs
class MapHash
{
public:
MapHash(vec2i mapSize,vec2i SplitInto, T juttu );
Insert(vec2i Position, T juttu);
Remove(vec2i Position, T juttu);
private:
vector<list<T>> Hash;
vec2i GridSize;
}
MapHash::MapHash(vec2i mapSize,vec2i SplitInto, T juttu )
{
Hash.resize(SplitInto.x*SplitInto.y);
GridSize(mapSize.x/SplitInto.x, mapSize.y/SplitInto.y);
}
MapHash::InsertInsert(vec2i Position, T juttu)
{
vec2i HashLocation(
floor(Position.x/GridSize.x), floor(Position.y/GridSize.y) );
Hash[HashLocation].insert(juttu);
}
MapHash::Remove(vec2i Position, T juttu)
{
vec2i HashLocation(
floor(Position.x/GridSize.x), floor(Position.y/GridSize.y) );
Hash[HashLocation].remove(juttu);
]