pubgrub/src/commonMain/kotlin/version/VersionConstraint.kt
2019-09-27 17:43:41 +02:00

14 lines
No EOL
514 B
Kotlin

package net.cijber.pubgrub.version
import net.cijber.pubgrub.stubs.Version
interface VersionConstraint<V : Version<V>> {
fun allows(version: V): Boolean
fun allowsAll(rhs: VersionConstraint<V>): Boolean
fun allowsAny(rhs: VersionConstraint<V>): Boolean
fun intersect(rhs: VersionConstraint<V>): VersionConstraint<V>
fun difference(rhs: VersionConstraint<V>): VersionConstraint<V>
fun union(rhs: VersionConstraint<V>): VersionConstraint<V>
val isAny: Boolean
val isEmpty: Boolean
}