diff --git a/Sources/Ranges/AnyRange.swift b/Sources/Ranges/AnyRange.swift index 274bce2..9922e2b 100644 --- a/Sources/Ranges/AnyRange.swift +++ b/Sources/Ranges/AnyRange.swift @@ -161,13 +161,12 @@ extension AnyRange { } } -infix operator <<: ComparisonPrecedence -infix operator >>: ComparisonPrecedence extension AnyRange { - internal static func <<(lhs: AnyRange, rhs: AnyRange) -> Bool { - return lhs < rhs && !lhs.overlaps(rhs) + internal func _isLessThanAndApartFrom(_ other: AnyRange) -> Bool { + return self < other && !self.overlaps(other) } - internal static func >>(lhs: AnyRange, rhs: AnyRange) -> Bool { - return rhs << lhs + + internal func _isGreaterThanAndApartFrom(_ other: AnyRange) -> Bool { + return other._isLessThanAndApartFrom(self) } } diff --git a/Sources/Ranges/RangeDictionary.swift b/Sources/Ranges/RangeDictionary.swift index d0d6105..4ec6f9d 100644 --- a/Sources/Ranges/RangeDictionary.swift +++ b/Sources/Ranges/RangeDictionary.swift @@ -46,7 +46,9 @@ public struct RangeDictionary where Bound: Comparable { default: for ii in 0..<(nn - 1) { let (range0, range1) = self._twoRanges(from: ii) - guard !range0.isEmpty && !range1.isEmpty && range0 << range1 else { return false } + guard !range0.isEmpty && !range1.isEmpty && range0._isLessThanAndApartFrom(range1) else { + return false + } } return true } @@ -121,14 +123,14 @@ public struct RangeDictionary where Bound: Comparable { if self._rangesAndValues.isEmpty { return .insertable(0) } - if range << self._rangesAndValues.first!.range { + if range._isLessThanAndApartFrom(self._rangesAndValues.first!.range) { return .insertable(0) } if range.overlaps(self._rangesAndValues.first!.range) { overlap_first = 0 break determineFirstIndexOfOverlap } - if self._rangesAndValues.last!.range << range { + if self._rangesAndValues.last!.range._isLessThanAndApartFrom(range) { return .insertable(numberOfPairs) } assert(numberOfPairs > 1, "Must be already handled if the number of pairs is less than 2.") @@ -139,7 +141,7 @@ public struct RangeDictionary where Bound: Comparable { overlap_first = ii + 1 break determineFirstIndexOfOverlap } - if range0 << range && range << range1 { + if range0._isLessThanAndApartFrom(range) && range._isLessThanAndApartFrom(range1) { return .insertable(ii + 1) } }