mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2024-06-17 23:35:14 +00:00
14 lines
439 B
Kotlin
14 lines
439 B
Kotlin
package dev.inmo.micro_utils.matrix
|
|
|
|
class MatrixBuilder<T> {
|
|
private val mutMatrix: MutableList<List<T>> = ArrayList()
|
|
val matrix: Matrix<T>
|
|
get() = mutMatrix
|
|
|
|
fun row(t: List<T>) = mutMatrix.add(t)
|
|
operator fun List<T>.unaryPlus() = row(this)
|
|
}
|
|
|
|
fun <T> MatrixBuilder<T>.row(block: RowBuilder<T>.() -> Unit) = +RowBuilder<T>().also(block).row
|
|
fun <T> MatrixBuilder<T>.row(vararg elements: T) = +elements.toList()
|