#pragma once #include #include #include #include #include namespace mbgl { template class GridIndex { public: GridIndex(int32_t extent_, int32_t n_, int32_t padding_); using BBox = mapbox::geometry::box; void insert(T&& t, const BBox&); std::vector query(const BBox&) const; private: int32_t convertToCellCoord(int32_t x) const; const int32_t extent; const int32_t n; const int32_t padding; const int32_t d; const double scale; const int32_t min; const int32_t max; std::vector> elements; std::vector> cells; }; } // namespace mbgl