Trait diffs::Diff[][src]

pub trait Diff: Sized {
    type Error;
    fn equal(
        &mut self,
        old: usize,
        new: usize,
        len: usize
    ) -> Result<(), Self::Error> { ... }
fn delete(
        &mut self,
        old: usize,
        len: usize,
        new: usize
    ) -> Result<(), Self::Error> { ... }
fn insert(
        &mut self,
        old: usize,
        new: usize,
        new_len: usize
    ) -> Result<(), Self::Error> { ... }
fn replace(
        &mut self,
        old: usize,
        old_len: usize,
        new: usize,
        new_len: usize
    ) -> Result<(), Self::Error> { ... }
fn finish(&mut self) -> Result<(), Self::Error> { ... } }

A trait for reacting to an edit script from the "old" version to the "new" version.

Associated Types

Loading content...

Provided methods

fn equal(
    &mut self,
    old: usize,
    new: usize,
    len: usize
) -> Result<(), Self::Error>
[src]

Called when lines with indices old (in the old version) and new (in the new version) start an section equal in both versions, of length len.

fn delete(
    &mut self,
    old: usize,
    len: usize,
    new: usize
) -> Result<(), Self::Error>
[src]

Called when a section of length len, starting at old, needs to be deleted from the old version.

fn insert(
    &mut self,
    old: usize,
    new: usize,
    new_len: usize
) -> Result<(), Self::Error>
[src]

Called when a section of the new version, of length new_len and starting at new, needs to be inserted at position `old'.

fn replace(
    &mut self,
    old: usize,
    old_len: usize,
    new: usize,
    new_len: usize
) -> Result<(), Self::Error>
[src]

Called when a section of the old version, starting at index old and of length old_len, needs to be replaced with a section of length new_len, starting at new, of the new version.

fn finish(&mut self) -> Result<(), Self::Error>[src]

Always called at the end of the algorithm.

Loading content...

Implementations on Foreign Types

impl<'a, D: Diff + 'a> Diff for &'a mut D[src]

type Error = D::Error

Loading content...

Implementors

impl<D: Diff> Diff for Replace<D>[src]

type Error = D::Error

Loading content...