diff --git a/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/MatrixBuilder.kt b/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/MatrixBuilder.kt index 6c5292f47ee..a218cefa6eb 100644 --- a/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/MatrixBuilder.kt +++ b/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/MatrixBuilder.kt @@ -1,12 +1,15 @@ package dev.inmo.micro_utils.matrix -class MatrixBuilder { +open class MatrixBuilder { private val mutMatrix: MutableList> = ArrayList() val matrix: Matrix get() = mutMatrix fun row(t: List) = mutMatrix.add(t) + fun add(t: List) = mutMatrix.add(t) operator fun List.unaryPlus() = row(this) + operator fun plus(t: List) = add(t) + operator fun T.unaryPlus() = add(listOf(this)) } fun MatrixBuilder.row(block: RowBuilder.() -> Unit) = +RowBuilder().also(block).row diff --git a/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/RowBuilder.kt b/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/RowBuilder.kt index f79a71ea2c5..f1b4fced24b 100644 --- a/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/RowBuilder.kt +++ b/matrix/src/commonMain/kotlin/dev/inmo/micro_utils/matrix/RowBuilder.kt @@ -1,12 +1,13 @@ package dev.inmo.micro_utils.matrix -class RowBuilder { +open class RowBuilder { private val mutRow: MutableList = ArrayList() val row: Row get() = mutRow - fun column(t: T) = mutRow.add(t) + fun add(t: T) = mutRow.add(t) operator fun T.unaryPlus() = column(this) + fun column(t: T) = mutRow.add(t) } fun row(block: RowBuilder.() -> Unit): List = RowBuilder().also(block).row