diff options
Diffstat (limited to 'src/mongo/db/geo/r2_region_coverer.cpp')
-rw-r--r-- | src/mongo/db/geo/r2_region_coverer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mongo/db/geo/r2_region_coverer.cpp b/src/mongo/db/geo/r2_region_coverer.cpp index 43c0094e04b..155546266b2 100644 --- a/src/mongo/db/geo/r2_region_coverer.cpp +++ b/src/mongo/db/geo/r2_region_coverer.cpp @@ -54,10 +54,8 @@ struct R2RegionCoverer::CompareQueueEntries : public less<QueueEntry> { } }; -// Doesn't take ownership of "hashConverter". The caller should guarantee its life cycle -// is longer than this coverer. -R2RegionCoverer::R2RegionCoverer(GeoHashConverter* hashConverter) - : _hashConverter(hashConverter), +R2RegionCoverer::R2RegionCoverer(std::unique_ptr<GeoHashConverter> hashConverter) + : _hashConverter(std::move(hashConverter)), _minLevel(0u), _maxLevel(GeoHash::kMaxBits), _maxCells(kDefaultMaxCells), @@ -136,6 +134,10 @@ void R2RegionCoverer::getCovering(const R2Region& region, vector<GeoHash>* cover cover->swap(*_results); } +const GeoHashConverter& R2RegionCoverer::getHashConverter() const { + return *_hashConverter; +} + // Caller owns the returned pointer R2RegionCoverer::Candidate* R2RegionCoverer::newCandidate(const GeoHash& cell) { // Exclude the cell that doesn't intersect with the geometry. |