package moe.nea.caelo.util class Histogram(val maxSize: Int) : Iterable { private val dequeue = ArrayDeque() fun append(element: T) { dequeue.addLast(element) if (dequeue.size > maxSize) { dequeue.removeFirst() } } val size get() = dequeue.size override fun iterator(): Iterator { return dequeue.iterator() } }