「区間」を表すクラス。
「区間」を表すクラス。
閉区間とは、lower <= x <= upper
であらわされる区間であり、
開区間とは、lower < x < upper
であらわされる区間である。
どちらか一方のみが <=
で、他方が <
である場合は、半開区間と言う。
The rules of this class are consistent with the common mathematical definition of "interval". For a simple explanation, see http://en.wikipedia.org/wiki/Interval_(mathematics)
Interval (and its "ConcreteInterval" subclass) can be used for any objects that have a natural ordering reflected by implementing the Comparable interface. For example, Integer implements Comparable, so if you want to check if an Integer is within a range, make an Interval. Any class of yours which implements Comparable can have intervals defined this way.
区間要素の型
区間における「限界」を表すクラス。
区間における「限界」を表すクラス。
このクラスを理解するにあたっては、「限界」と「限界値」の区別を正しく認識することが重要となる。
限界とはこのクラス this
で表される値であり、限界値とは、 value
で表される値である。
限界が「閉じている」とは、限界値そのものを超過とみなさないことを表し、 「開いている」とは、これを超過とみなすことを表す。
無限限界とは、限界を制限しないことであり、 value
が Limitless[T]
であることで
この状態を表現する。無限限界は常に開いていると考える。
逆に、無限限界ではない限界(value
が Limitless[T]
ではないもの)を有限限界と呼ぶ。
下側限界とは、限界値以下(または未満)の値を超過とみなす限界を表し、 上側限界とは、限界値以上(または超える)の値を超過とみなす限界を表す。
限界の型
区間に対して値をマッピングする抽象クラス。
区間に対して値をマッピングする抽象クラス。
キーとなる区間の型
値の型
区間列(複数の Interval の列)を表すクラス。
有限の限界値を表すクラス。
有限の限界値を表すクラス。
限界値の型
限界値
限界値を表すトレイト。
限界値を表すトレイト。
限界値の型
無限の限界値を表すクラス。
無限の限界値を表すクラス。
限界値の型
区間同士の比較を行うためのOrdering
の実装(下側優先)
区間同士の比較を行うためのOrdering
の実装(下側優先)
下側限界による比較を優先し、同じであったら上側限界による比較を採用する。
区間同士の比較を行うためのOrdering
の実装(上側優先)
区間同士の比較を行うためのOrdering
の実装(上側優先)
上側限界による比較を優先し、同じであったら下側限界による比較を採用する。
Interval
コンパニオンオブジェクト
IntervalLimit
コンパニオンオブジェクト。
IntervalSeq
コンパニオンオブジェクト
LimitValue
コンパニオンオブジェクト。
LinearIntervalMap
コンパニオンオブジェクト。
LowerUpperOrdering
コンパニオンオブジェクト。
UpperLowerOrdering
コンパニオンオブジェクト。
区間を表すクラスを中心としたクラス群。