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 lteq(left: A, right: A): Boolean

Lattice order is derived from merge, but should be overridden for efficiency

Lattice order is derived from merge, but should be overridden for efficiency

Attributes

Inherited from:
Lattice

Extensions

Inherited extensions

extension (left: A)
final inline def <=(right: A): Boolean

Convenience extensions for the above.

Convenience extensions for the above.

Attributes

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

Convenience extensions for the above.

Convenience extensions for the above.

Attributes

Inherited from:
Lattice