Trait similar::algorithms::DiffHook[][src]

pub trait DiffHook: Sized {
    type Error;
    fn equal(
        &mut self,
        old_index: usize,
        new_index: usize,
        len: usize
    ) -> Result<(), Self::Error> { ... }
fn delete(
        &mut self,
        old_index: usize,
        old_len: usize,
        new_index: usize
    ) -> Result<(), Self::Error> { ... }
fn insert(
        &mut self,
        old_index: usize,
        new_index: usize,
        new_len: usize
    ) -> Result<(), Self::Error> { ... }
fn replace(
        &mut self,
        old_index: usize,
        old_len: usize,
        new_index: 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_index: usize,
    new_index: usize,
    len: usize
) -> Result<(), Self::Error>
[src]

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

fn delete(
    &mut self,
    old_index: usize,
    old_len: usize,
    new_index: usize
) -> Result<(), Self::Error>
[src]

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

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

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

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

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

The default implementations invokes delete and insert.

You can use the Replace hook to automatically generate these.

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: DiffHook + 'a> DiffHook for &'a mut D[src]

type Error = D::Error

Loading content...

Implementors

impl DiffHook for Capture[src]

type Error = Infallible

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

type Error = D::Error

Loading content...