Files
kotlin-fork/idea/builtinsSrc/jet/Progressions.kt
T
2013-10-01 19:32:38 +04:00

71 lines
1.6 KiB
Kotlin

package jet
public trait Progression<N: Any>: Iterable<N> {
public val start: N
public val end: N
public val increment: Number
}
public class IntProgression(
public override val start: Int,
public override val end: Int,
public override val increment: Int
): Progression<Int> {
override fun iterator(): IntIterator
}
public class LongProgression(
public override val start: Long,
public override val end: Long,
public override val increment: Long
): Progression<Long> {
override fun iterator(): LongIterator
}
public class ByteProgression(
public override val start: Byte,
public override val end: Byte,
public override val increment: Int
): Progression<Byte> {
override fun iterator(): ByteIterator
}
public class ShortProgression(
public override val start: Short,
public override val end: Short,
public override val increment: Int
): Progression<Short> {
override fun iterator(): ShortIterator
}
public class CharProgression(
public override val start: Char,
public override val end: Char,
public override val increment: Int
): Progression<Char> {
override fun iterator(): CharIterator
}
public class FloatProgression(
public override val start: Float,
public override val end: Float,
public override val increment: Float
): Progression<Float> {
override fun iterator(): FloatIterator
}
public class DoubleProgression(
public override val start: Double,
public override val end: Double,
public override val increment: Double
): Progression<Double> {
override fun iterator(): DoubleIterator
}