BoxAssignment

abstract class BoxAssignment[-U, V] extends PartialFunction[U, Box[V]]

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

Like it was the case for Box, a BoxAssignent is also a blueprint for buildind equivalent BoxAssignments. Each BoxAssignmant has a copy method which should produce a functionally equivalent copy of this. The copy method should try to minimize object duplication.

Companion:
object
trait PartialFunction[U, Box[V]]
trait U => Box[V]
class Object
trait Matchable
class Any

Value members

Abstract methods

def boxesAreIdempotent: Boolean

Returns true if all returned boxes are idempotent.

Returns true if all returned boxes are idempotent.

def boxesAreImmutable: Boolean

Returns true if all boxes are immutable

Returns true if all boxes are immutable

def boxesAreRight: Boolean

Returns true if all boxes are right boxes.

Returns true if all boxes are right boxes.

def copy: BoxAssignment[U, V]

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

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

def isEmpty: Boolean

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.

Concrete methods

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

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

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

Inherited methods

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