Package com.io7m.jranges
Interface RangeHalfOpenLType
- All Known Implementing Classes:
RangeHalfOpenL
@Immutable
public interface RangeHalfOpenLType
A half open (inclusive lower, exclusive upper) range with
long components.- Since:
- 4.0.0
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidCheck preconditions for the type.default booleanincludesValue(long value) Determine if the given value is included in this range.default longinterval()Retrieve the number of values in the range[lower, upper).default booleanisIncludedIn(RangeHalfOpenL other) Determine if the given range is included in this range.default booleanisIncludedIn(RangeInclusiveL other) Determine if the given range is included in this range.longlower()longupper()
-
Method Details
-
lower
@Parameter long lower()- Returns:
- The lower bound of the inclusive range.
-
upper
@Parameter long upper()- Returns:
- The upper bound of the inclusive range.
-
interval
default long interval()Retrieve the number of values in the range
[lower, upper). That is,(upper - lower).- Returns:
- The number of values in the range
-
includesValue
default boolean includesValue(long value) Determine if the given value is included in this range.
- Parameters:
value- The given value- Returns:
trueiffvalue >= this.getLower() && value < this.getUpper().
-
isIncludedIn
Determine if the given range is included in this range.
- Parameters:
other- The given range- Returns:
trueiffthis.getLower() >= other.getLower() && this.getUpper() <= other.getUpper().
-
isIncludedIn
Determine if the given range is included in this range.
- Parameters:
other- The given range- Returns:
trueiffthis.getLower() >= other.getLower() && this.getUpper() <= other.getUpper().
-
checkPreconditions
@Check default void checkPreconditions()Check preconditions for the type.
-