FilteredLattice

rdts.dotted.FilteredLattice
@FunctionalInterface
trait FilteredLattice[A](decorated: Lattice[A]) extends Lattice[A]

Decorates an existing lattice to filter the values before merging them. Warning: Decoration breaks when the decorated lattice has overridden methods except merge and decompose, or uses merge from within merge/decompose.

Attributes

Graph
Supertypes
trait Lattice[A]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def filter(base: A, other: A): A

Concrete methods

def merge(left: A, right: A): A

By assumption: associative, commutative, idempotent.

By assumption: associative, commutative, idempotent.

Implementation note: If it matters, assume that left is the current state and right is an added delta. All code should assume that left is the larger state (and optimize for this). If left == right, prefer to return left.

Attributes

Inherited methods

def subsumption(left: A, right: A): Boolean

Lattice order is derived from merge. Overriding implementations must make sure that they compute exactly the same results as the equation below.

Lattice order is derived from merge. Overriding implementations must make sure that they compute exactly the same results as the equation below.

Attributes

Inherited from:
Lattice

Extensions

Inherited extensions

extension (left: A)
inline def inflates(right: A): Boolean

Convenience extensions for the above.

Convenience extensions for the above.

Attributes

Inherited from:
Lattice
inline def merge(right: A): A

Convenience extensions for the above.

Convenience extensions for the above.

Attributes

Inherited from:
Lattice
inline def subsumes(right: A): Boolean

Merging right into left has no effect

Merging right into left has no effect

Attributes

Inherited from:
Lattice