- Companion
- class
Type members
Classlikes
Allows for mapping indices bidirectionally between the base
and target
sequences.
Allows for mapping indices bidirectionally between the base
and target
sequences.
Alternative representation of the diffing output that holds all data elements, changed and unchanged ones.
Alternative representation of the diffing output that holds all data elements, changed and unchanged ones.
- Companion
- object
Very simple equality type class, which allows for customizing the comparison logic employed by the diff algorith. By default universal value equality is used.
Very simple equality type class, which allows for customizing the comparison logic employed by the diff algorith. By default universal value equality is used.
- Companion
- object
An ADT for all "operations" the diff algorithm can derive.
Operations don't contain any elements themselves, they only hold indices into the base
and target
sequences
for maximum efficiency.
An ADT for all "operations" the diff algorithm can derive.
Operations don't contain any elements themselves, they only hold indices into the base
and target
sequences
for maximum efficiency.
If you need something that holds all data required to transform base
into target
, including the actual
elements, check out Patch.
- Companion
- object
A Patch encapsulates all information required to transform the base
sequence into the target
sequence.
An IndexedSeqView.Slice that surfaces the underlying sequence as well as the index range.
An IndexedSeqView.Slice that surfaces the underlying sequence as well as the index range.
- Companion
- object
Value members
Concrete methods
Runs a relatively efficient, stacksafe, linear space implementation of the Myers diff algorithm and returns the result as a Diff instance, which serves as the tee-off point for further, downstream logic.
Runs a relatively efficient, stacksafe, linear space implementation of the Myers diff algorithm and returns the result as a Diff instance, which serves as the tee-off point for further, downstream logic.
The core algorithm is based on the work of Robert Elder.
- See also
Returns a longest common subsequence of the base
and target
sequences.
or None, if the two sequences have no elements in common.
Stacksafe and reasonably efficient.
Returns a longest common subsequence of the base
and target
sequences.
or None, if the two sequences have no elements in common.
Stacksafe and reasonably efficient.
Returns the minimum number of edits required to transform base
and target
,
whereby one "edit" corresponds to deleting or inserting one single element.
Returns the minimum number of edits required to transform base
and target
,
whereby one "edit" corresponds to deleting or inserting one single element.
Equal to Diff(base, target).delInsOps.size
but more efficient.