pub struct DiffResult<'a> {
pub(crate) d_post: [u8; 32],
pub(crate) lines: Vec<&'a str>,
}
Expand description
The result of applying one or more diff commands to an input string.
It refers to lines from the diff and the input by reference, to avoid copying.
Fields§
§d_post: [u8; 32]
An expected digest of the output, after it has been assembled.
lines: Vec<&'a str>
The lines in the output.
Implementations§
Source§impl<'a> DiffResult<'a>
impl<'a> DiffResult<'a>
Sourcepub(crate) fn from_str(s: &'a str, d_post: [u8; 32]) -> Self
pub(crate) fn from_str(s: &'a str, d_post: [u8; 32]) -> Self
Construct a new DiffResult containing the provided string split into lines, and an expected post-transformation digest.
Sourcepub(crate) fn new(d_post: [u8; 32]) -> Self
pub(crate) fn new(d_post: [u8; 32]) -> Self
Return a new empty DiffResult with an expected post-transformation digests
Sourcepub(crate) fn push_reversed(&mut self, lines: &[&'a str])
pub(crate) fn push_reversed(&mut self, lines: &[&'a str])
Put every member of lines
at the end of this DiffResult, in
reverse order.
Sourcepub(crate) fn remove_lines(
&mut self,
first: usize,
last: usize,
) -> Result<(), Error>
Available on crate feature slow-diff-apply
only.
pub(crate) fn remove_lines( &mut self, first: usize, last: usize, ) -> Result<(), Error>
slow-diff-apply
only.Remove the 1-indexed lines from first
through last
inclusive.
This has to move elements around within the vector, and so it is potentially O(n) in its length.
Sourcepub(crate) fn insert_at(
&mut self,
pos: usize,
lines: &[&'a str],
) -> Result<(), Error>
Available on crate feature slow-diff-apply
only.
pub(crate) fn insert_at( &mut self, pos: usize, lines: &[&'a str], ) -> Result<(), Error>
slow-diff-apply
only.Insert the provided lines
so that they appear at 1-indexed
position pos
.
This has to move elements around within the vector, and so it is potentially O(n) in its length.
Sourcepub fn check_digest(&self) -> Result<(), Error>
pub fn check_digest(&self) -> Result<(), Error>
See whether the output of this diff matches the target digest.
If not, return an error.
Trait Implementations§
Source§impl<'a> Clone for DiffResult<'a>
impl<'a> Clone for DiffResult<'a>
Source§fn clone(&self) -> DiffResult<'a>
fn clone(&self) -> DiffResult<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'a> Debug for DiffResult<'a>
impl<'a> Debug for DiffResult<'a>
Auto Trait Implementations§
impl<'a> Freeze for DiffResult<'a>
impl<'a> RefUnwindSafe for DiffResult<'a>
impl<'a> Send for DiffResult<'a>
impl<'a> Sync for DiffResult<'a>
impl<'a> Unpin for DiffResult<'a>
impl<'a> UnwindSafe for DiffResult<'a>
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more