ProductDottedLattice

kofre.dotted.DottedLattice$.ProductDottedLattice
class ProductDottedLattice[T <: Product](lattices: Tuple, bottoms: Tuple, pm: ProductOf[T], label: String) extends DottedLattice[T]

Attributes

Graph
Supertypes
trait DottedLattice[T]
trait Lattice[Dotted[T]]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

override def lteq(left: Dotted[T], right: Dotted[T]): 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

Definition Classes
override def mergePartial(left: Dotted[T], right: Dotted[T]): T

Partial merging combines the stored values, but ignores the context. Thus enabling nested merging of values, without merging context multiple times.

Partial merging combines the stored values, but ignores the context. Thus enabling nested merging of values, without merging context multiple times.

Attributes

Definition Classes
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Any

Inherited methods

def contextbimap[B](to: Dotted[T] => Dotted[B], from: Dotted[B] => Dotted[T]): DottedLattice[B]

Attributes

Inherited from:
DottedLattice
def decompose(a: Dotted[T]): Iterable[A]

Decompose a state into potentially smaller parts. The only requirement is that merging the decomposed results produces the original state. Requires a bottom to enable automatic decomposition of Product types Note that the goal here is small individual storage size at reasonable computational cost. Minimalism of returned results is not guaranteed. It is also not guaranteed that the result does not overlap.

Decompose a state into potentially smaller parts. The only requirement is that merging the decomposed results produces the original state. Requires a bottom to enable automatic decomposition of Product types Note that the goal here is small individual storage size at reasonable computational cost. Minimalism of returned results is not guaranteed. It is also not guaranteed that the result does not overlap.

Attributes

Inherited from:
Lattice
def diff(state: Dotted[T], delta: Dotted[T]): Option[A]

computes delta without state

computes delta without state

Attributes

Inherited from:
Lattice
def merge(left: Dotted[T], right: Dotted[T]): Dotted[A]

By assumption: associative, commutative, idempotent.

By assumption: associative, commutative, idempotent.

For use with Delta CRDTs, this function should be optimized for the case that left >> right, i.e., that left is the current state and right the delta

Attributes

Inherited from:
DottedLattice

Extensions

Inherited extensions

extension (left: Dotted[A])
def mergePartial(right: Dotted[A]): A

Attributes

Inherited from:
DottedLattice
extension (left: A)
def <=(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
def decomposed: Iterable[A]

Attributes

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

Attributes

Inherited from:
Lattice