summaryrefslogtreecommitdiff
path: root/src/mongo/db/index/s2_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/index/s2_common.h')
-rw-r--r--src/mongo/db/index/s2_common.h84
1 files changed, 42 insertions, 42 deletions
diff --git a/src/mongo/db/index/s2_common.h b/src/mongo/db/index/s2_common.h
index 3df3c833694..fad4087bb89 100644
--- a/src/mongo/db/index/s2_common.h
+++ b/src/mongo/db/index/s2_common.h
@@ -38,52 +38,52 @@
namespace mongo {
- // An enum describing the version of an S2 index.
- enum S2IndexVersion {
- // The first version of the S2 index, introduced in MongoDB 2.4.0. Compatible with MongoDB
- // 2.4.0 and later. Supports the following GeoJSON objects: Point, LineString, Polygon.
- S2_INDEX_VERSION_1 = 1,
+// An enum describing the version of an S2 index.
+enum S2IndexVersion {
+ // The first version of the S2 index, introduced in MongoDB 2.4.0. Compatible with MongoDB
+ // 2.4.0 and later. Supports the following GeoJSON objects: Point, LineString, Polygon.
+ S2_INDEX_VERSION_1 = 1,
- // The current version of the S2 index, introduced in MongoDB 2.6.0. Compatible with
- // MongoDB 2.6.0 and later. Introduced support for the following GeoJSON objects:
- // MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.
- S2_INDEX_VERSION_2 = 2
- };
+ // The current version of the S2 index, introduced in MongoDB 2.6.0. Compatible with
+ // MongoDB 2.6.0 and later. Introduced support for the following GeoJSON objects:
+ // MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.
+ S2_INDEX_VERSION_2 = 2
+};
- struct S2IndexingParams {
- // Since we take the cartesian product when we generate keys for an insert,
- // we need a cap.
- size_t maxKeysPerInsert;
- // This is really an advisory parameter that we pass to the cover generator. The
- // finest/coarsest index level determine the required # of cells.
- int maxCellsInCovering;
- // What's the finest grained level that we'll index? When we query for a point
- // we start at that -- we index nothing finer than this.
- int finestIndexedLevel;
- // And, what's the coarsest? When we search in larger coverings we know we
- // can stop here -- we index nothing coarser than this.
- int coarsestIndexedLevel;
- // Version of this index (specific to the index type).
- S2IndexVersion indexVersion;
+struct S2IndexingParams {
+ // Since we take the cartesian product when we generate keys for an insert,
+ // we need a cap.
+ size_t maxKeysPerInsert;
+ // This is really an advisory parameter that we pass to the cover generator. The
+ // finest/coarsest index level determine the required # of cells.
+ int maxCellsInCovering;
+ // What's the finest grained level that we'll index? When we query for a point
+ // we start at that -- we index nothing finer than this.
+ int finestIndexedLevel;
+ // And, what's the coarsest? When we search in larger coverings we know we
+ // can stop here -- we index nothing coarser than this.
+ int coarsestIndexedLevel;
+ // Version of this index (specific to the index type).
+ S2IndexVersion indexVersion;
- double radius;
+ double radius;
- std::string toString() const {
- std::stringstream ss;
- ss << "maxKeysPerInsert: " << maxKeysPerInsert << std::endl;
- ss << "maxCellsInCovering: " << maxCellsInCovering << std::endl;
- ss << "finestIndexedLevel: " << finestIndexedLevel << std::endl;
- ss << "coarsestIndexedLevel: " << coarsestIndexedLevel << std::endl;
- ss << "indexVersion: " << indexVersion << std::endl;
- return ss.str();
- }
+ std::string toString() const {
+ std::stringstream ss;
+ ss << "maxKeysPerInsert: " << maxKeysPerInsert << std::endl;
+ ss << "maxCellsInCovering: " << maxCellsInCovering << std::endl;
+ ss << "finestIndexedLevel: " << finestIndexedLevel << std::endl;
+ ss << "coarsestIndexedLevel: " << coarsestIndexedLevel << std::endl;
+ ss << "indexVersion: " << indexVersion << std::endl;
+ return ss.str();
+ }
- void configureCoverer(S2RegionCoverer *coverer) const {
- coverer->set_min_level(coarsestIndexedLevel);
- coverer->set_max_level(finestIndexedLevel);
- // This is advisory; the two above are strict.
- coverer->set_max_cells(maxCellsInCovering);
- }
- };
+ void configureCoverer(S2RegionCoverer* coverer) const {
+ coverer->set_min_level(coarsestIndexedLevel);
+ coverer->set_max_level(finestIndexedLevel);
+ // This is advisory; the two above are strict.
+ coverer->set_max_cells(maxCellsInCovering);
+ }
+};
} // namespace mongo