Trait similar::algorithms::DiffHook [−][src]
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]
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), Self::Error>
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]
&mut self,
old_index: usize,
old_len: usize,
new_index: usize
) -> Result<(), Self::Error>
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]
&mut self,
old_index: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
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]
&mut self,
old_index: usize,
old_len: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
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.
Implementations on Foreign Types
impl<'a, D: DiffHook + 'a> DiffHook for &'a mut D
[src]
type Error = D::Error
fn equal(
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), Self::Error>
[src]
&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>
[src]
&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>
[src]
&mut self,
old_index: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
fn replace(
&mut self,
old: usize,
old_len: usize,
new: usize,
new_len: usize
) -> Result<(), Self::Error>
[src]
&mut self,
old: usize,
old_len: usize,
new: usize,
new_len: usize
) -> Result<(), Self::Error>
fn finish(&mut self) -> Result<(), Self::Error>
[src]
Implementors
impl DiffHook for Capture
[src]
type Error = Infallible
fn equal(
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), Self::Error>
[src]
&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>
[src]
&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>
[src]
&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>
[src]
&mut self,
old_index: usize,
old_len: usize,
new_index: usize,
new_len: usize
) -> Result<(), Self::Error>
impl<D: DiffHook> DiffHook for Replace<D>
[src]
type Error = D::Error
fn equal(
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), D::Error>
[src]
&mut self,
old_index: usize,
new_index: usize,
len: usize
) -> Result<(), D::Error>
fn delete(
&mut self,
old_index: usize,
old_len: usize,
new_index: usize
) -> Result<(), D::Error>
[src]
&mut self,
old_index: usize,
old_len: usize,
new_index: usize
) -> Result<(), D::Error>
fn insert(
&mut self,
old_index: usize,
new_index: usize,
new_len: usize
) -> Result<(), D::Error>
[src]
&mut self,
old_index: usize,
new_index: usize,
new_len: usize
) -> Result<(), D::Error>
fn replace(
&mut self,
old_index: usize,
old_len: usize,
new_index: usize,
new_len: usize
) -> Result<(), D::Error>
[src]
&mut self,
old_index: usize,
old_len: usize,
new_index: usize,
new_len: usize
) -> Result<(), D::Error>