FugueMovableListState<T> class

State of a CRDTFugueMovableListHandler.

Holds two pieces:

  • a FugueTree of FugueElementID slots: each tree node represents a position in the document, and the node's value is the identity that "lives at" that position. The tree provides the interleaving-aware total order from the Fugue algorithm.
  • a Map<identityID, MovableElement> keyed by stable element identity, carrying the LWW value and LWW current position of each element.

The visible list is the result of walking the tree in traversal order and keeping only the slots whose identity still points back to them (i.e. the LWW-winning position of the identity) and whose identity has not been deleted.

Constructors

FugueMovableListState.empty()
Creates an empty state.
factory

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
value → List<T>
Returns the public list value.
no setter
visiblePositions → List<FugueElementID>
Returns the visible positions in traversal order.
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
visibleIdentities() → List<FugueElementID>
The identity of every visible element, in order.

Operators

operator ==(Object other) → bool
The equality operator.
inherited