sealed trait HasStartOrVoid extends SpanLike
- Alphabetic
- By Inheritance
- HasStartOrVoid
- SpanLike
- Writable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def clip(pos: Long): Long
Clips a position to this span's boundary.
Clips a position to this span's boundary. Note that the span's stop position is included. Thus the result is greater than or equal the start, and less than or equal (!) the stop.
For the special cases of
Span.All
andSpan.Void
, this method returns the argument unchanged.- pos
the point to clip
- returns
the clipped point
- Definition Classes
- SpanLike
- abstract def compareStart(pos: Long): Int
Compares the span's start to a given position
Compares the span's start to a given position
- returns
-1
, if the span start lies before the query position,1
, if it lies after that position, or0
, if both are the same
- Definition Classes
- SpanLike
- abstract def compareStop(pos: Long): Int
Compares the span's stop to a given position
Compares the span's stop to a given position
- returns
-1
, if the span stop lies before the query position,1
, if it lies after that position, or0
, if both are the same
- Definition Classes
- SpanLike
- abstract def contains(that: SpanLike): Boolean
Checks if another span lies within the span.
Checks if another span lies within the span. The result is
false
if either of the two spans is void.- that
second span
- returns
true
, ifthat.start >= this.start && that.stop <= this.stop
- Definition Classes
- SpanLike
- abstract def contains(pos: Long): Boolean
Checks if a position lies within the span.
Checks if a position lies within the span. Note that this returns
false
ifthis.stop == pos
.- returns
true
, ifstart <= pos < stop
- Definition Classes
- SpanLike
- abstract def intersect(that: SpanLike): SpanLike
Construct the intersection between this and another span.
Construct the intersection between this and another span. If the two spans are disjoint, the result will be empty. An empty result may be a
Span
if the two spans touched each other, orSpan.Void
if they did not touch each other. If either span isSpan.All
, the other span is returned. If either span is void,Span.Void
will be returned.This method is commutative (
a intersect b == b intersect a
).- that
the span to form the intersection with
- returns
the intersection span (possibly empty)
- Definition Classes
- SpanLike
- abstract def isEmpty: Boolean
Checks if the span is empty.
Checks if the span is empty. A span is empty if it is a
Span
withstart == stop
or if it is void.- returns
true
, ifstart == stop
- Definition Classes
- SpanLike
- abstract def nonEmpty: Boolean
Checks if the span is non empty.
Checks if the span is non empty. This is exactly the opposite value of
isEmpty
.- Definition Classes
- SpanLike
- abstract def nonEmptyOption: Option[HasStart]
- Definition Classes
- HasStartOrVoid → SpanLike
- abstract def overlaps(that: SpanLike): Boolean
Checks if a two spans overlap each other.
Checks if a two spans overlap each other. Two spans overlap if the overlapping area is greater than or equal to 1. This implies that if either span is empty, the result will be
false
.This method is commutative (
a overlaps b == b overlaps a
).- that
second span
- returns
true
, if the spans overlap each other
- Definition Classes
- SpanLike
- abstract def shift(delta: Long): HasStartOrVoid
Shifts the span, that is applies an offset to its start and stop.
Shifts the span, that is applies an offset to its start and stop. For single sided open spans (
Span.From
andSpan.Until
) this alters the only bounded value. ForSpan.All
andSpan.Void
this returns the object unchanged.- delta
the shift amount (the amount to be added to the span's positions)
- returns
the shifted span
- Definition Classes
- HasStartOrVoid → SpanLike
- abstract def startOption: Option[Long]
- Definition Classes
- SpanLike
- abstract def startOrElse(default: => Long): Long
- Definition Classes
- SpanLike
- abstract def stopOption: Option[Long]
- Definition Classes
- SpanLike
- abstract def stopOrElse(default: => Long): Long
- Definition Classes
- SpanLike
- abstract def subtract(that: Open): SpanLike
Subtracts a given open span from this span.
Subtracts a given open span from this span.
- that
the span to subtract
- returns
the reduced span, possibly empty or void
- Definition Classes
- SpanLike
- abstract def subtract(that: SpanLike): IndexedSeq[SpanLike]
Subtracts a given span from this span.
Subtracts a given span from this span. Note that an empty span argument "cuts" this span, e.g.
Span.all subtract Span(30,30) == Seq(Span.until(30),Span.from(30))
- that
the span to subtract
- returns
a collection of spans after the argument was subtracted. Unlike
intersect
, this method filters out empty spans, thus a span subtracted from itself produces an empty collection. ifthat
is aSpan
, the result might be two disjoint spans.
- Definition Classes
- SpanLike
- abstract def touches(that: SpanLike): Boolean
Checks if a two spans overlap or touch each other.
Checks if a two spans overlap or touch each other. Two spans touch each other if they either overlap or they share a common point with each other (this span's start or stop is that span's start or stop).
This method is commutative (
a touches b == b touches a
).- that
second span
- returns
true
, if the spans touch each other
- Definition Classes
- SpanLike
- abstract def union(that: SpanLike): SpanLike
Constructs a single span which contains both
this
andthat
span.Constructs a single span which contains both
this
andthat
span. If the two spans are disjoint, the result will be a span withstart = min(this.start, that.start)
andstop = max(this.stop, that.stop)
. If either span is void, the other span is returned. If either span isSpan.All
,Span.All
will be returned.This method is commutative (
a union b == b union a
).- that
the span to form the union with
- returns
the encompassing span
- Definition Classes
- SpanLike
- abstract def write(out: DataOutput): Unit
- Definition Classes
- Writable
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated