Slightly improve documentation

This commit is contained in:
Armin Ronacher 2021-01-17 23:53:20 +01:00
parent be49f4b55f
commit bc97614946

View file

@ -49,6 +49,9 @@ pub trait DiffHook: Sized {
/// version. /// version.
/// ///
/// The default implementations invokes `delete` and `insert`. /// The default implementations invokes `delete` and `insert`.
///
/// You can use the [`Replace`](crate::algorithms::Replace) hook to
/// automatically generate these.
fn replace( fn replace(
&mut self, &mut self,
old_index: usize, old_index: usize,
@ -107,23 +110,29 @@ impl<'a, D: DiffHook + 'a> DiffHook for &'a mut D {
} }
/// Utility enum to capture a diff operation. /// Utility enum to capture a diff operation.
///
/// This is used by [`CaptureHook`].
#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)] #[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)]
pub enum DiffOp { pub enum DiffOp {
/// A segment is equal (see [`DiffHook::equal`])
Equal { Equal {
old_index: usize, old_index: usize,
new_index: usize, new_index: usize,
len: usize, len: usize,
}, },
/// A segment was deleted (see [`DiffHook::delete`])
Delete { Delete {
old_index: usize, old_index: usize,
old_len: usize, old_len: usize,
new_index: usize, new_index: usize,
}, },
/// A segment was inserted (see [`DiffHook::insert`])
Insert { Insert {
old_index: usize, old_index: usize,
new_index: usize, new_index: usize,
new_len: usize, new_len: usize,
}, },
/// A segment was replaced (see [`DiffHook::replace`])
Replace { Replace {
old_index: usize, old_index: usize,
old_len: usize, old_len: usize,
@ -132,7 +141,7 @@ pub enum DiffOp {
}, },
} }
/// Captures diff operations. /// A [`DiffHook`] that captures all diff operations.
#[derive(Default, Clone)] #[derive(Default, Clone)]
pub struct CaptureHook(Vec<DiffOp>); pub struct CaptureHook(Vec<DiffOp>);