12 lines
294 B
Kotlin
12 lines
294 B
Kotlin
package it.vfsfitvnm.vimusic.utils
|
|
|
|
class RingBuffer<T>(val size: Int, init: (index: Int) -> T) {
|
|
private val list = MutableList(2, init)
|
|
|
|
private var index = 0
|
|
|
|
fun getOrNull(index: Int): T? = list.getOrNull(index)
|
|
|
|
fun append(element: T) = list.set(index++ % size, element)
|
|
}
|