- Companion
- object
Value members
Abstract methods
Concrete methods
Inherited methods
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.
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
and Span.Void
, this
method returns the argument unchanged.
- Value Params
- pos
the point to clip
- Returns
the clipped point
- Inherited from
- SpanLike
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- Inherited from
- SpanLike
Checks if another span lies within the span. The result is false
if either of the two spans is void.
Checks if another span lies within the span. The result is false
if either of the two spans is void.
- Value Params
- that
second span
- Returns
true
, ifthat.start >= this.start && that.stop <= this.stop
- Inherited from
- SpanLike
Checks if a position lies within the span. Note that this returns
false
if this.stop == pos
.
Checks if a position lies within the span. Note that this returns
false
if this.stop == pos
.
- Returns
true
, ifstart <= pos < stop
- Inherited from
- SpanLike
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, or Span.Void
if they did not touch each other. If either span is
Span.All
, the other span is returned. If either span is void, Span.Void
will be
returned.
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, or Span.Void
if they did not touch each other. If either span is
Span.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
).
- Value Params
- that
the span to form the intersection with
- Returns
the intersection span (possibly empty)
- Inherited from
- SpanLike
Checks if the span is empty. A span is empty if it is
a Span
with start == stop
or if it is void.
Checks if the span is empty. A span is empty if it is
a Span
with start == stop
or if it is void.
- Returns
true
, ifstart == stop
- Inherited from
- SpanLike
Checks if the span is non empty. This is exactly the opposite value of isEmpty
.
Checks if the span is non empty. This is exactly the opposite value of isEmpty
.
- Inherited from
- SpanLike
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
.
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
).
- Value Params
- that
second span
- Returns
true
, if the spans overlap each other- Inherited from
- SpanLike
Subtracts a given open span from this span.
Subtracts a given open span from this span.
- Value Params
- that
the span to subtract
- Returns
the reduced span, possibly empty or void
- Inherited from
- SpanLike
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))
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))
- Value Params
- 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.- Inherited from
- SpanLike
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).
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
).
- Value Params
- that
second span
- Returns
true
, if the spans touch each other- Inherited from
- SpanLike
Constructs a single span which contains both this
and that
span. If the two spans
are disjoint, the result will be a span with start = min(this.start, that.start)
and
stop = max(this.stop, that.stop)
. If either span is void, the other span is returned.
If either span is Span.All
, Span.All
will be returned.
Constructs a single span which contains both this
and that
span. If the two spans
are disjoint, the result will be a span with start = min(this.start, that.start)
and
stop = max(this.stop, that.stop)
. If either span is void, the other span is returned.
If either span is Span.All
, Span.All
will be returned.
This method is commutative (a union b == b union a
).
- Value Params
- that
the span to form the union with
- Returns
the encompassing span
- Inherited from
- SpanLike