diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2017-11-29 10:21:19 -0500 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2017-12-04 13:24:55 -0500 |
commit | 95e95613412c33b52bb8a514751550c2447526d4 (patch) | |
tree | b0f86dd04b6c6f8978b6a77f6d29adffab79eddf /src/mongo/db/range_arithmetic.cpp | |
parent | 7920e242c0def907b502265ca14ddf3d86c98025 (diff) | |
download | mongo-95e95613412c33b52bb8a514751550c2447526d4.tar.gz |
SERVER-31056 Remove usages of ScopedCollectionMetadata default constructor
Diffstat (limited to 'src/mongo/db/range_arithmetic.cpp')
-rw-r--r-- | src/mongo/db/range_arithmetic.cpp | 54 |
1 files changed, 19 insertions, 35 deletions
diff --git a/src/mongo/db/range_arithmetic.cpp b/src/mongo/db/range_arithmetic.cpp index 4335f668f21..6e89578c7b9 100644 --- a/src/mongo/db/range_arithmetic.cpp +++ b/src/mongo/db/range_arithmetic.cpp @@ -31,31 +31,10 @@ #include "mongo/db/range_arithmetic.h" namespace mongo { - -using std::make_pair; -using std::pair; -using std::string; -using std::stringstream; - -CachedChunkInfo::CachedChunkInfo(BSONObj maxKey, ChunkVersion version) - : _maxKey(std::move(maxKey)) {} - -bool rangeContains(const BSONObj& inclusiveLower, - const BSONObj& exclusiveUpper, - const BSONObj& point) { - return point.woCompare(inclusiveLower) >= 0 && point.woCompare(exclusiveUpper) < 0; -} - -bool rangeOverlaps(const BSONObj& inclusiveLower1, - const BSONObj& exclusiveUpper1, - const BSONObj& inclusiveLower2, - const BSONObj& exclusiveUpper2) { - return (exclusiveUpper1.woCompare(inclusiveLower2) > 0) && - (exclusiveUpper2.woCompare(inclusiveLower1) > 0); -} +namespace { // Represents the start and end of an overlap of a tested range -typedef pair<RangeMap::const_iterator, RangeMap::const_iterator> OverlapBounds; +typedef std::pair<RangeMap::const_iterator, RangeMap::const_iterator> OverlapBounds; // Internal-only, shared functionality OverlapBounds rangeMapOverlapBounds(const RangeMap& ranges, @@ -71,7 +50,7 @@ OverlapBounds rangeMapOverlapBounds(const RangeMap& ranges, --low; // If the previous range's max value is lte our min value - if (low->second.getMaxKey().woCompare(inclusiveLower) < 1) { + if (low->second.woCompare(inclusiveLower) < 1) { low = next; } } @@ -83,22 +62,27 @@ OverlapBounds rangeMapOverlapBounds(const RangeMap& ranges, return OverlapBounds(low, high); } -bool rangeMapOverlaps(const RangeMap& ranges, - const BSONObj& inclusiveLower, - const BSONObj& exclusiveUpper) { - OverlapBounds bounds = rangeMapOverlapBounds(ranges, inclusiveLower, exclusiveUpper); - return bounds.first != bounds.second; +} // namespace + +bool rangeContains(const BSONObj& inclusiveLower, + const BSONObj& exclusiveUpper, + const BSONObj& point) { + return point.woCompare(inclusiveLower) >= 0 && point.woCompare(exclusiveUpper) < 0; +} + +bool rangeOverlaps(const BSONObj& inclusiveLower1, + const BSONObj& exclusiveUpper1, + const BSONObj& inclusiveLower2, + const BSONObj& exclusiveUpper2) { + return (exclusiveUpper1.woCompare(inclusiveLower2) > 0) && + (exclusiveUpper2.woCompare(inclusiveLower1) > 0); } -bool rangeMapContains(const RangeMap& ranges, +bool rangeMapOverlaps(const RangeMap& ranges, const BSONObj& inclusiveLower, const BSONObj& exclusiveUpper) { OverlapBounds bounds = rangeMapOverlapBounds(ranges, inclusiveLower, exclusiveUpper); - if (bounds.first == ranges.end()) - return false; - - return bounds.first->first.woCompare(inclusiveLower) == 0 && - bounds.first->second.getMaxKey().woCompare(exclusiveUpper) == 0; + return bounds.first != bounds.second; } } // namespace mongo |