Skip to main content

UnfilterBuf

Struct UnfilterBuf 

Source
pub struct UnfilterBuf<'data> {
    pub(crate) buffer: &'data mut [u8],
    pub(crate) available: &'data mut usize,
    pub(crate) filled: &'data mut usize,
}
Expand description

A buffer for decompression and in-place filtering of PNG rowlines.

The underlying data structure is a vector, with additional markers dividing the vector into specific regions of bytes - see UnfilterRegion for more details.

Fields§

§buffer: &'data mut [u8]

The data container.

§available: &'data mut usize

The past-the-end index of the region that is allowed to be modified.

§filled: &'data mut usize

The past-the-end index of the region with decompressed bytes.

Implementations§

Source§

impl UnfilterBuf<'_>

Source

fn decompress( &mut self, decompressor: &mut Decompressor, input: &[u8], ) -> Result<usize, DecodingError>

Pushes input into fdeflate crate and appends decompressed bytes to self.buffer (adjusting self.filled and self.available depending on how many bytes have been decompressed).

Returns how many bytes of input have been consumed.

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