Package-level declarations

Types

Link copied to clipboard
open class SolverFactorySession(factory: SolverFactory, creationRequest: SolverSessionCreationRequest, capabilities: Set<String>, solutionFeatures: (Solution) -> Map<FeatureId, Map<String, FeatureValue>>, runtimeLibraries: List<Library>) : SolverSession

SolverSession backed by any SolverFactory; no toolkit dependency. Open so a frontend-specific module can customize the SolveOptions used for every resolution (see configureSolveOptions) without this class needing to know about any particular solving mode.

Functions

Link copied to clipboard
fun solverFactoryProfile(factory: SolverFactory, id: SolverProfileId, displayName: String, capabilities: Set<String> = setOf(SolverCapabilities.CANCELLATION), solutionFeatures: (Solution) -> Map<FeatureId, Map<String, FeatureValue>> = { emptyMap() }, runtimeLibraries: List<Library> = listOf(OOPLib, IOLib), newSession: (factory: SolverFactory, request: SolverSessionCreationRequest, capabilities: Set<String>, solutionFeatures: (Solution) -> Map<FeatureId, Map<String, FeatureValue>>, runtimeLibraries: List<Library>) -> SolverFactorySession = ::SolverFactorySession): SolverProfile

Builds a SolverProfile backed by any SolverFactory (prolog, ProbLog, ...); no toolkit dependency.