int operator()(Tile_coord& newt) { while (index < 8) { newt = Tile_coord(tile.tx + coords[2*index], tile.ty + coords[2*index + 1], tile.tz); index++; if (newt.tx >= 0 && newt.tx < num_tiles && newt.ty >= 0 && newt.ty < num_tiles) return (1); } return (0);
bool operator() (const Search_node *a, const Search_node *b) const { Tile_coord ta = a->get_tile(), tb = b->get_tile(); return ta == tb;
	int operator()(Tile_coord& newt)		{		while (index < 8)			{			newt = Tile_coord(tile.tx + coords[2*index],				tile.ty + coords[2*index + 1], tile.tz);			index++;			if (newt.tx >= 0 && newt.tx < num_tiles &&			    newt.ty >= 0 && newt.ty < num_tiles)				return (1);			}		return (0);		}