ConsumeBinaryHunk

Struct ConsumeBinaryHunk 

Source
pub struct ConsumeBinaryHunk<'a, D> {
    pub newline: &'a str,
    pub delegate: D,
    /* private fields */
}
Available on crate feature blob only.
Expand description

An adapter with ConsumeHunk implementation to call a delegate which receives each stringified hunk.

Fields§

§newline: &'a str

The newline to use to separate lines if these don’t yet contain a newline. It should also be used to separate the stringified header from the hunk itself.

§delegate: D

The delegate to receive stringified hunks.

Implementations§

Source§

impl<'a, D> ConsumeBinaryHunk<'a, D>

Source

pub fn new(delegate: D, newline: &'a str) -> ConsumeBinaryHunk<'a, D>

Create a new instance that writes stringified hunks to delegate, which uses newline to separate header and hunk, as well as hunk lines that don’t naturally end in a newline.

Trait Implementations§

Source§

impl<D> ConsumeHunk for ConsumeBinaryHunk<'_, D>

An implementation that fails if the input isn’t UTF-8.

Source§

type Out = D

The item this instance produces after consuming all hunks.
Source§

fn consume_hunk( &mut self, header: HunkHeader, lines: &[(DiffLineKind, &[u8])], ) -> Result<()>

Consume a single hunk which is represented by its lines, each of which with a DiffLineKind value to know if it’s added, removed or context. The header specifies hunk offsets, which positions the lines in the old and new file respectively. Read more
Source§

fn finish(self) -> Self::Out

Called after the last hunk is consumed to produce an output.

Auto Trait Implementations§

§

impl<'a, D> Freeze for ConsumeBinaryHunk<'a, D>
where D: Freeze,

§

impl<'a, D> RefUnwindSafe for ConsumeBinaryHunk<'a, D>
where D: RefUnwindSafe,

§

impl<'a, D> Send for ConsumeBinaryHunk<'a, D>
where D: Send,

§

impl<'a, D> Sync for ConsumeBinaryHunk<'a, D>
where D: Sync,

§

impl<'a, D> Unpin for ConsumeBinaryHunk<'a, D>
where D: Unpin,

§

impl<'a, D> UnwindSafe for ConsumeBinaryHunk<'a, D>
where D: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.