Subclassed ranges from sequence.

This commit is contained in:
Evgeny Gerashchenko
2013-01-24 01:27:33 +04:00
parent 79d3440c92
commit 90e474ca75
8 changed files with 63 additions and 14 deletions
+21 -7
View File
@@ -6,71 +6,85 @@ public trait Range<in T : Comparable<T>> {
public fun contains(item : T) : Boolean
}
public class IntRange(public override val start : Int, public override val end : Int) : Range<Int>, IntIterable {
public class IntRange(public override val start : Int, public override val end : Int) : Range<Int>, NumberSequence<Int>, IntIterable {
public override fun iterator () : IntIterator
public override fun contains (elem: Int) : Boolean
public override val increment: Int
public class object {
public val EMPTY: IntRange
}
}
public class LongRange(public override val start : Long, public override val end : Long) : Range<Long>, LongIterable {
public class LongRange(public override val start : Long, public override val end : Long) : Range<Long>, NumberSequence<Long>, LongIterable {
public override fun iterator () : LongIterator
public override fun contains (elem: Long) : Boolean
public override val increment: Long
public class object {
public val EMPTY: LongRange
}
}
public class ByteRange(public override val start : Byte, public override val end : Byte) : Range<Byte>, ByteIterable {
public class ByteRange(public override val start : Byte, public override val end : Byte) : Range<Byte>, NumberSequence<Byte>, ByteIterable {
public override fun iterator () : ByteIterator
public override fun contains (elem: Byte) : Boolean
public override val increment: Int
public class object {
public val EMPTY: ByteRange
}
}
public class ShortRange(public override val start : Short, public override val end : Short) : Range<Short>, ShortIterable {
public class ShortRange(public override val start : Short, public override val end : Short) : Range<Short>, NumberSequence<Short>, ShortIterable {
public override fun iterator () : ShortIterator
public override fun contains (elem: Short) : Boolean
public override val increment: Int
public class object {
public val EMPTY: ShortRange
}
}
public class CharRange(public override val start : Char, public override val end : Char) : Range<Char>, CharIterable {
public class CharRange(public override val start : Char, public override val end : Char) : Range<Char>, NumberSequence<Char>, CharIterable {
public override fun iterator () : CharIterator
public override fun contains (elem: Char) : Boolean
public override val increment: Int
public class object {
public val EMPTY: CharRange
}
}
public class FloatRange(public override val start : Float, public override val end : Float) : Range<Float>, FloatIterable {
public class FloatRange(public override val start : Float, public override val end : Float) : Range<Float>, NumberSequence<Float>, FloatIterable {
public override fun iterator () : FloatIterator
public override fun contains (elem: Float) : Boolean
public override val increment: Float
public class object {
public val EMPTY: FloatRange
}
}
public class DoubleRange(public override val start : Double, public override val end : Double) : Range<Double>, DoubleIterable {
public class DoubleRange(public override val start : Double, public override val end : Double) : Range<Double>, NumberSequence<Double>, DoubleIterable {
public override fun iterator () : DoubleIterator
public override fun contains (elem: Double) : Boolean
public override val increment: Double
public class object {
public val EMPTY: DoubleRange
}