Struct UnfilterBuf

Source
pub struct UnfilterBuf<'data> { /* private fields */ }
Expand description

An inplace buffer for decompression and filtering of PNG rowlines.

The underlying data structure is a vector, with additional markers denoting a region of bytes that are utilized by the decompression but not yet available to arbitrary modifications. The caller can still shift around data between calls to the stream decompressor as long as the data in the marked region is not modified and the indices adjusted accordingly. See UnfilterRegion that contains these markers.

Violating the invariants, i.e. modifying bytes in the marked region, results in absurdly wacky decompression output or panics but not undefined behavior.

Auto Trait Implementations§

§

impl<'data> Freeze for UnfilterBuf<'data>

§

impl<'data> RefUnwindSafe for UnfilterBuf<'data>

§

impl<'data> Send for UnfilterBuf<'data>

§

impl<'data> Sync for UnfilterBuf<'data>

§

impl<'data> Unpin for UnfilterBuf<'data>

§

impl<'data> !UnwindSafe for UnfilterBuf<'data>

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, 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.