EndState

interface EndState : State

A State that carries an emitted Solution (StateEnd, reached on a positive or negative solution, or StateHalt, reached on an uncaught exception). Every time it.unibo.tuprolog.solve.classic.SolutionIterator visits one of these, solution is what it hands back to the caller.

Inheritors

Properties

Link copied to clipboard

The execution context this state operates on.

Link copied to clipboard

Whether asking for another solution after this one would resume resolution (via backtracking) rather than truly stop.

Link copied to clipboard
open override val isEndState: Boolean

Whether this state is a terminal one for the current resolution step, i.e. an EndState.

Link copied to clipboard
abstract val solution: Solution

The solution emitted by reaching this state.

Functions

Link copied to clipboard
open override fun asEndState(): EndState

This state as an EndState, or null if isEndState is false.

Link copied to clipboard

This state as an EndState.

Link copied to clipboard
abstract fun clone(context: ClassicExecutionContext = this.context): State

Returns a copy of this state, replacing context with the given one (defaulting to the current context).

Link copied to clipboard
abstract fun next(): State

Computes the state the machine transitions into from here -- a pure function of context.