intersection method
empty *
Implementation
Range<T> intersection(Range<T> range) {
if (empty || range.empty) {
return _createEmptyRange();
}
final _lowerBound = _maxBound(lowerBound, range.lowerBound);
final _upperBound = _minBound(upperBound, range.upperBound);
final isIntersection = _compareBounds(_upperBound, _lowerBound) > 0;
if (isIntersection) {
return createRange(lowerBound: _lowerBound, upperBound: _upperBound);
} else {
return _createEmptyRange();
}
}