Make IndexingIterator and IndexingIterable internal.

This commit is contained in:
Ilya Gorbunov
2016-01-16 18:44:04 +03:00
parent 9142025df6
commit cbc3a3b595
@@ -12,18 +12,14 @@ public data class IndexedValue<out T>(public val index: Int, public val value: T
* A wrapper over another [Iterable] (or any other object that can produce an [Iterator]) that returns * A wrapper over another [Iterable] (or any other object that can produce an [Iterator]) that returns
* an indexing iterator. * an indexing iterator.
*/ */
@Deprecated("This implementation class will become internal soon. Use Iterable<IndexedValue<T>> instead.", ReplaceWith("Iterable<IndexedValue<T>>")) internal class IndexingIterable<out T>(private val iteratorFactory: () -> Iterator<T>) : Iterable<IndexedValue<T>> {
public class IndexingIterable<out T>(private val iteratorFactory: () -> Iterator<T>) : Iterable<IndexedValue<T>> {
override fun iterator(): Iterator<IndexedValue<T>> = IndexingIterator(iteratorFactory()) override fun iterator(): Iterator<IndexedValue<T>> = IndexingIterator(iteratorFactory())
} }
/** /**
* Iterator transforming original `iterator` into iterator of [IndexedValue], counting index from zero. * Iterator transforming original `iterator` into iterator of [IndexedValue], counting index from zero.
*/ */
@Deprecated("This implementation class will become internal soon. Use Iterator<IndexedValue<T>> instead.", ReplaceWith("Iterator<IndexedValue<T>>")) internal class IndexingIterator<out T>(private val iterator: Iterator<T>) : Iterator<IndexedValue<T>> {
public class IndexingIterator<out T>
@Deprecated("This implementation class will become internal soon. Use iterator.withIndex() instead.", ReplaceWith("iterator.withIndex()"))
constructor(private val iterator: Iterator<T>) : Iterator<IndexedValue<T>> {
private var index = 0 private var index = 0
final override fun hasNext(): Boolean = iterator.hasNext() final override fun hasNext(): Boolean = iterator.hasNext()
final override fun next(): IndexedValue<T> = IndexedValue(index++, iterator.next()) final override fun next(): IndexedValue<T> = IndexedValue(index++, iterator.next())