ComboAssignment

abstract class ComboAssignment[-U, V] extends PartialFunction[U, Combo[V]]

A ComboAssignment maps a subset of unknowns to a Combo. When isDefinedAt(u) is false for a given unknown u, the corresponding apply(u) should be a right combo.

As it was the case for Combo, a ComboAssignent is also a blueprint for buildind equivalent ComboAssignments. Each ComboAssignmant has a copy method which should produce a functionally equivalent copy of this. The copy method should try to minimize object duplication.

Companion:
object
Source:
ComboAssignment.scala
trait PartialFunction[U, Combo[V]]
trait U => Combo[V]
class Object
trait Matchable
class Any

Value members

Abstract methods

Returns true if all returned combos are idempotent.

Returns true if all returned combos are idempotent.

Source:
ComboAssignment.scala

Returns true if all combos are immutable

Returns true if all combos are immutable

Source:
ComboAssignment.scala

Returns true if all combos are right combos.

Returns true if all combos are right combos.

Source:
ComboAssignment.scala

Returns a copy of this combo assignment. An immutable combo assignment may just returns itself, but a mutable one should produce a copy of itself.

Returns a copy of this combo assignment. An immutable combo assignment may just returns itself, but a mutable one should produce a copy of itself.

Source:
ComboAssignment.scala

Returns true if the assignment is empty, i.e., it is undefined for all program points.

Returns true if the assignment is empty, i.e., it is undefined for all program points.

Source:
ComboAssignment.scala

Concrete methods

def restrict[U1 <: U](domain: U1 => Boolean): ComboAssignment[U1, V]

Restricts the domain of this combo assignment. The new domain is the intersection of the old domain and the set whose characteristic function is domain.

Restricts the domain of this combo assignment. The new domain is the intersection of the old domain and the set whose characteristic function is domain.

Source:
ComboAssignment.scala
def restrict[U1 <: U](ordering: UnknownOrdering[U1]): ComboAssignment[U1, V]

Restricts the domain of this combo assignment. The new domain is the intersection of the old domain and the set of head nodes according to the provided graph ordering.

Restricts the domain of this combo assignment. The new domain is the intersection of the old domain and the set of head nodes according to the provided graph ordering.

Source:
ComboAssignment.scala

Inherited methods

Inherited from:
PartialFunction
override def andThen[C](k: Combo[V] => C): PartialFunction[U, C]
Definition Classes
Inherited from:
PartialFunction
def apply(v1: U): Combo[V]
Inherited from:
Function1
def applyOrElse[A1 <: U, B1 >: Combo[V]](x: A1, default: A1 => B1): B1
Inherited from:
PartialFunction
Inherited from:
PartialFunction
def compose[A](g: A => U): A => Combo[V]
Inherited from:
Function1
def isDefinedAt(x: U): Boolean
Inherited from:
PartialFunction
def lift: U => Option[Combo[V]]
Inherited from:
PartialFunction
def orElse[A1 <: U, B1 >: Combo[V]](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
Inherited from:
PartialFunction
def runWith[U](action: Combo[V] => U): U => Boolean
Inherited from:
PartialFunction
override def toString(): String
Definition Classes
Function1 -> Any
Inherited from:
Function1
def unapply(a: U): Option[Combo[V]]
Inherited from:
PartialFunction